今天收到了CloudFlare Partner的批准邮件,点击邮件的重置密码连接后设置一下密码就能登陆到CloudFlare Partner的后台其间会根据提示选择回答几个问题,如:
问你是在乎性能还是安全、有多少客户、客户主要地区、用的主机销售面板是什么、支付后台是什么等等之类的,因为我不销售主机,所以销售面板和支付后台这些都是乱选择的。期间可以生成Host API Key,要是生成了就拷贝记录下来,之后在控制台能查看到API Key,也能重新生成的。
登入控制台后因为没有接入域名,所以空空如也,下面我们就举例添加域名itkylin.com的一个cnmae记录指向到CF的cnmae记录使用cf的CDN。
方案背景描述:
假设域名itkylin.com托管在阿里云,因不方便修改此域名的NS记录以直接使用CloudFlare的DNS,所以只能以CloudFlare Partner API方式接入至CloudFlare,现假设www.itkylin.com这个主机名要套上CloudFlare的CDN以隐藏源IP及实现轻量的防DDOS功能。
实施步骤:
一、有一个CloudFlare Partner账号或有提供使用CloudFlare Partner的平台,申请Partner账号步骤此处省略;
二、有一个CloudFlare个人账号,没有请自行注册一个,收到确认邮件后登陆进去不用添加域名,因为一会通过CloudFlare Partner API方式接入域名后就等于是添加了一个域名了。
三、通过cf partner api接入添加域名itkylin.com的cname记录www.itkylin.com有两种方式:
方式一:通过执行cloudflare-partner-cli.py Python程序接入添加域名itkylin.com的cname记录www.itkylin.com
方式二:通过登陆CFWEB管理界面接入添加域名itkylin.com的cname记录www.itkylin.com
3.1)因为是测试,暂时没时间登陆服务器搭建LNMP环境和部署CFWEB管理界面了,所以使用方式一,直接随便在一台vps上wget下cloudflare-partner-cli.py脚本文件用python执行就可以了。从本站下载cloudflare-partner-cli.py。你也可以从github下载:wget https://github.com/fffonion/cloudflare-partner-cli/raw/master/cloudflare-partner-cli.py
3.2)编辑cloudflare-partner-cli.py
修改:
1 | HOSTKEY = "None" # HOSTKEY_ANCHOR |
为:
1 | HOSTKEY = "xxxxxx此处是你的cloudflare partner api keyxxxxxxx" # HOSTKEY_ANCHOR |
记得用双引号把api key括起来。
3.3)编辑修改完就可以执行该python脚本了,如果你的系统没有python,请执行如下命令安装:
Centos:
1 | yum install python -y |
Ubuntu:
1 | apt-get install -y python |
3.4)执行python cloudflare-partner-cli.py命令,会提示你输入邮箱和密码,此处请输入你cloudflare个人账号的邮箱和密码,切记不是cloudflare partner的邮箱和密码,是个人账号的邮箱和密码! 操作如下:
[email protected]:~# python cloudflare-partner-cli.py
邮箱 > [email protected]
密码 > www.itkylin.com
INFO – [email protected] 已登录
================================
选择所需的操作,输入数字:
1. 添加/修改DNS记录
2. 删除DNS记录
3. 重新生成host key
4. 开通SSL
5. 删除接入的域名
6. 显示所有接入的域名
7. 显示DNS记录
8. 接入域名
9. 退出当前帐号
>
根据提示选择,本例选择的是8(接入域名)
> 8
根域名 > itkylin.com
子域名 > www.itkylin.com
源站地址 > demo.itkylin.com
INFO – 设置成功! 请将www.itkylin.com的CNAME记录设置为www.itkylin.com.cdn.cloudflare.net
================================
以上信息提示设置成功了,这时可以输入9就可以退出了。
这时,登陆你的CloudFlare Partner后台,点击域名就可以看到已接入成功的域名:
登陆你的CloudFlare个人账号后台,也能看到已添加的域名,此处就不截图了。
3.5)最后,登陆你的域名itkylin.com所在注册商的DNS管理后台,设置www.itkylin.com的cname值为:www.itkylin.com.cdn.cloudflare.net
然后添加demo.itkylin.com这个A记录的值为152.16.65.18 (注,此举例的IP均为虚构,勿当真),源站地址只能设置主机名的格式,不能直接设置IP,如若设置IP会提示报错误信息:
ERR – 报错: Invalid resolve_to: 152.16.65.18. (act: zone_set)
四、至此,所有设置已完成,现在你可以在源站IP 152.16.65.18的服务器上部署网站www.itkylin.com了,当访问www.itkylin.com时首先访问的是cloudflare cdn的IP,然后cloudflare才访问你的源站。