Cloudflare Partner是Cloudflare推出的分銷合作計劃,目前分為兩種:Self-Serve Partner和Enterprise Reseller,兩種在功能上存在差別,Enterprise Reseller擁有更多的定價權、可選功能以及更好的產品服務。

現在大家見到的Cloudflare Partner多數為Self-Serve Partner,剛開始推出時申請門檻不高,通過率還是不錯的,隨著申請的人越來越多,Cloudflare Partner現在審核也慢了不少,而且條件也提高了,個人想通過的話還是有點麻煩。

當然對於不關心Cloudflare Partner而只想要使用CNAME、IP接入Cloudflare CDN,而不是修改NS,你可以直接放心使用第三方的Cloudflare Partner。我們知道,Cloudflare 官網提供的CDN需要修改網域的NS伺服器。

而使用Cloudflare Partner的話,可以只修改域名的A或者CNAME記錄,就可以使用Cloudflare CDN了,同時Cloudflare Partner不存儲用戶數據,只是一個管理接口,更多的Cloudflare安全防護服務,也可同時在Cloudflare官網操作。

Cloudflare Partner存取管理Cloudflare CDN-無需修改NS並啟用Railgun加速

這篇文章就來分享如何建構Cloudflare Partner接入管理系統,以及Cloudflare CDN使用方法,更多的CDN加速有:

  1. 百度雲端儲存BOS和百度雲CDN使用體驗-自動鏡像儲存和送加速域名
  2. 又拍雲CDN加速申請使用教學-一鍵鏡像,靜態動態CDN和免費SSL
  3. 自建CDN加速-Nginx反向綁定,快取加速,自動更新快取和取得真實IP

PS:更新記錄:

1.更新了大量新增CloudFlare CDN伺服器IP到防火牆的方法。 2020.9.23

2.免費申請加入Railgun加速,歡迎請進入此處討論:https://wzfou.com/question/17493/。 2019.9.7

3.有了免費CDN,還想要免費網域的,可以參考此篇文章註冊一個免費頂級網域:免費網域.tk,.ml,.ga,.cf,.gq申請註冊和DNS解析-綁定免費空間教程。 2018.12.4

一、申請Cloudflare Partner

PS:如果只要想使用 https://cdn.wzfou.com/ 的朋友,請直接跳到第三部分,前兩部分是分享如何搭建Cloudflare Partner的。

網站:

  1. 官網:https://www.cloudflare.com/
  2. 申請:https://www.cloudflare.com/partners/become-a-partner/

在填寫申請表的過程中,根據幾個朋友的提醒,使用網域信箱以及填寫主機網域相關產品網站,會得到較大的通過率,教學:加入Cloudflare Partner免費提供CloudFlare CDN加速服務。

Cloudflare Partner面板。如果是個人自用的話完全不用搞這個面板了,請參考加入Cloudflare Partner教學使用指令操作即可,如果想提供給他人使用的話,可以用以下開源面板:

  1. HTTPS://GitHub.com/Z E3客人/cloud flare-C name-setup

此面板的特性

管理你的所有 DNS 記錄。此面板使用了 Cloudflare API v4,所以支援各種格式的 DNS 記錄。

高級統計。你可以查看過去一整年的統計資料,而不僅僅是一個月。

同時支援 NS 接入。此面板提供了 NS 接入信息,所以你可以隨時切換到 Cloudflare DNS。此外,這個面板也支援 DNSSEC。

同時支援 IP 接入。你可以看到 DNS 的 Anycast IPv4 和 IPv6 訊息,這樣你就可以安全地在根網域下使用第三方 DNS。

適配行動裝置。

支援多種語言。

面板管理介面如下:

二、啟用CloudFlare Railgun

安裝文件:

  1. HTTPS://嗚嗚嗚.cloud flare.com/docs/讓愛來滾/installation.HTML

作為Cloudflare Partner的福利是可以開啟CloudFlare Railgun(該服務原為CloudFlare的付費服務),登入Cloudflare Partner管理面板。

然後同意協議。

關於CloudFlare Railgun安裝的中文文件相當少,比較快速的方法是使用Docker,這裡提供官方的安裝方法。

2.1  新增repository與安裝方法

Updating repository GPG key

The Cloudflare public packaging GPG key was updated in March of 2015 and will need to be updated if you are using the old key with an ID of 8e5f9a5d..

apt-based OS

Install the new key:

$ curl -C - https://pkg.cloudflare.com/pubkey.gpg | sudo apt-key add -

Remove the old key:

$ sudo apt-key del 8e5f9a5d

yum-based OS

Install the new key:

$ sudo rpm --import https://pkg.cloudflare.com/pubkey.gpg

Remove the old key:

$ sudo rpm -e gpg-pubkey-8e5f9a5d-*

Ubuntu作業系統

Add the repository (替換 <RELEASE> with the Ubuntu release name):

$ echo 'deb http://pkg.cloudflare.com/ <RELEASE> main' |
sudo tee /etc/apt/sources.list.d/cloudflare-main.list

舉例:

$ echo 'deb http://pkg.cloudflare.com/ xenial main' |
sudo tee /etc/apt/sources.list.d/cloudflare-main.list

重要 GPG key:

$ curl -C - https://pkg.cloudflare.com/pubkey.gpg | sudo apt-key add -

Update apt cache:

$ sudo apt-get update

Debian作業系統

Add the repository (替換 <RELEASE> with the Debian release name):

$ echo 'deb http://pkg.cloudflare.com/ <RELEASE> main' |
sudo tee /etc/apt/sources.list.d/cloudflare-main.list

舉例:

$ echo 'deb http://pkg.cloudflare.com/ jessie main' |
sudo tee /etc/apt/sources.list.d/cloudflare-main.list

重要 GPG key:

$ curl -C - https://pkg.cloudflare.com/pubkey.gpg | sudo apt-key add -

Update apt cache:

$ sudo apt-get update

Red Hat Enterprise Linux 與CentOS作業系統

Install RPM to add repository (替換 <VERSION> with the release version number):

$ sudo rpm -ivh http://pkg.cloudflare.com/cloudflare-release-latest.el<VERSION>.rpm

舉例:

$ sudo rpm -ivh http://pkg.cloudflare.com/cloudflare-release-latest.el7.rpm
$ sudo rpm -ivh http://pkg.cloudflare.com/cloudflare-release-latest.el6.rpm

CloudFlare Railgun目前只支援64位元系統,安裝指令:

RPM-based

$ yum install railgun-stable

DEB-based

$ apt-get install railgun-stable

2.2  啟動CloudFlare Railgun

安裝成功後並自動將/etc/init.d/railgun新增至開機自啟動。修改配置:

vi /etc/railgun/railgun.conf

找到如下兩行進行修改:

activation.token = <这里填写 Railgun 的 Token>
activation.railgun_host = <这里填写服务器的公网 ip>

然後啟動 Railgun,命令如下:

(GNU/Linux)
$ /etc/init.d/railgun start
Starting railgun:                                          [  OK  ]

$ service railgun start
Starting railgun:                                          [  OK  ]

指令啟動後,你就可以看到一個rg-listener 進程埠了(2408 by default). 你可以用以下指令查看:

(GNU/Linux)
$ netstat -plnt | grep 2408
tcp        0      0 :::2408                     :::*                        LISTEN      2981/rg-listener

請在防火牆中開啟預設的端口,同時建議將CloudFlare的CDN節點IP全部加入到iptables防火牆當中,程式碼範例如下:

#开放2408端口
/sbin/iptables -I INPUT -p tcp --dport 2408 -j ACCEPT
#把CloudFlare的CDN节点IP加入防火墙中,其它的IP在这里可以找到:https://www.cloudflare.com/ips/
iptables -I INPUT -s 198.41.128.0/17 -j ACCEPT

#更新批量添加方法
for i in `curl https://www.cloudflare.com/ips-v4`; do iptables -I INPUT -s $i -j ACCEPT; done
for i in `curl https://www.cloudflare.com/ips-v6`; do ip6tables -I INPUT -s $i -j ACCEPT; done

for i in `curl https://www.cloudflare.com/ips-v4`; do iptables -I INPUT -p tcp -s $i --dport 2408 -j ACCEPT; done
for i in `curl https://www.cloudflare.com/ips-v6`; do ip6tables -I INPUT -p tcp -s $i --dport 2408 -j ACCEPT; done

for i in `curl https://www.cloudflare.com/ips-v4`; do iptables -I INPUT -p tcp -m multiport --dports http,https -s $i -j ACCEPT; done
for i in `curl https://www.cloudflare.com/ips-v6`; do ip6tables -I INPUT -p tcp -m multiport --dports http,https -s $i -j ACCEPT; done
#保存防火墙
service iptables save

#重启防火墙
service iptables restart

#如果用的是ubuntu,可以使用以下命令永久保存防火墙规则
#安装iptables-persistent
sudo apt-get install iptables-persistent
#持久化规则
sudo netfilter-persistent save
sudo netfilter-persistent reload

如果有錯誤,請到日誌檔案 to /var/log/railgun/panic.log 查看, 或直接使用以下命令直接顯示錯誤:

(GNU/Linux)
$ sudo -u railgun /usr/bin/rg-listener -config=/etc/railgun/railgun.conf

如下圖:

2.3  啟動CloudFlare Railgun

啟用了CloudFlare Railgun後,就可以到Cloudflare Partner後台看到CloudFlare Railgun已經是啟動狀態了,你可以新增IP範圍,這樣只要使用了該IP的網域就可以自動接入CloudFlare Railgun了。

三、Cloudflare Partner使用

3.1  新增網域解析

網站:

  1. HTTPS://CDN.我在否.com/

開啟Cloudflare Partner登入位址,輸入你在Cloudflare的帳號與密碼,如果是沒有註冊帳號,會自動註冊Cloudflare帳號。

登入後,就可以新增網域了。要求是網域沒有在Cloudflare系統中,如果已經存在,請到Cloudflare官網刪除網域。

這是Cloudflare Partner的DNS管理介面。

這裡就可以修改新增A、CNAME等記錄了,和其它的DNS管理是一樣的。

Cloudflare Partner產生記錄如下:(點選放大)

3.2  啟用Cloudflare CDN

我們新增了網域DNS後,就可以回到自己的網域DNS處,將A記錄或CNAME修改為Cloudflare Partner提供給我們的。

現在你也可以指定1.0.0.1為A記錄,也是可以正常接取Cloudflare CDN的。

指定1.0.0.1後訪問的效果是這樣的。

3.3  啟用Cloudflare SSL

在Cloudflare Partner新增了網域後,點選「安全」就可以看到是否成功配置好了SSL憑證了,一般修改了A或CNAME記錄後,稍等一會兒就可以看到成功了。

你也可以進入到Cloudflare官網,在SSL一欄看到已經給網域產生憑證了。

用瀏覽器存取就可以看到用的是Cloudflare SSL憑證了。

第一次頒發Cloudflare SSL憑證的話,需要先驗證你的網域是否已經指向了Cloudflare。

驗證成功後,然後就可以看到SSL憑證簽發成功了。

3.4  Cloudflare Railgun設置

Cloudflare Railgun需要申請才能開通,詳情:免費開啟Cloudflare Railgun加速-減少連線延遲 實現動態頁面快取和加速。如果你是使用的其雲否的主機+cdn.wzfou.com管理接入,預設是已經開啟了Cloudflare Railgun加速的,不想用的話也可以關閉它。

其它的暫時沒有使用其雲否的主機,但是使用了cdn.wzfou.com管理接入的,想要使用Cloudflare Railgun的話,可以單獨聯繫我,需要手動啟動。加速效果如下:

Cloudflare Railgun體驗地址:

  1. HTTPS://咯撒.我在否.net/

PS:2018年12月28日更新,其它的一些功能例如CC和DDos防護、頁面規則以及快取清除等都需要在官網進行操作,相關的說明:CloudFlare免費CDN加速-CloudFlare加速,DNS解析,SSL憑證與防DDoS攻擊。

四、總結

Cloudflare Partner是一個非常有用的服務,對於不想修改NS伺服器但是想要使用Cloudflare CDN的朋友來說是相當好的,經過我的測試,Cloudflare Partner+DNSPOD,切換DNS記錄可以即時生效。

Cloudflare Railgun可以讓源站的動態內容幾乎全部靜態化,進而大大加快載入的速度,也能一定程度上緩解對於動態頁面的 CC 攻擊,土豪可以利用Cloudflare Railgun搭建自己的CDN加速服務了。

發表評論