這裡介紹 CloudFlare 這個免費的 CDN 服務,它可以有效加速網站載入速度,並且阻擋惡意流量,還可以代管 DNS。
通常一般的網站只要加上 CDN 之後,都可以有效提升網頁的載入速度,所以現在大多數的網站都會使用這樣的服務來改善訪客的使用者經驗,網路上有許多免費與付費的 CDN 服務,其中 CloudFlare 是一個最熱門、最普遍的 CDN 服務,如果您不想花錢購買付費的 CDN,那麼 CloudFlare 可以說是首選。
CloudFlare 的伺服器遍佈全球,除了可以有效降低資料傳遞距離之外,還具了備阻擋惡意留量的功能,以及代管 DNS 的服務,由於它的服務品質基本上已經有付費 CDN 的水準,所以有非常多的大型網站都選擇使用 CloudFlare。
以下是 CloudFlare 的註冊與使用方式。
Step 1
開啟 CloudFlare 的註冊網頁,填入自己的電子郵件信箱,自己取一個帳號名稱,並設定密碼。
Step 2
填入自己的網域名稱。
Step 3
CloudFlare 會自動掃描整個網域下面的 DNS 紀錄,這裡會顯示掃描的結果,請仔細檢查是否有遺漏任何的 DNS 紀錄,若有遺漏的話,可以自己補上去。
由於我們要讓 CloudFlare 代管整個網域的 DNS,所以一定要檢查仔細,如果漏掉一些重要的 DNS 紀錄,可能會讓網站整個斷線。
Step 4
選擇適合自己的方案,第一次使用的話,建議用預設值就好了,這個之後也可以再改。
Step 5
接著要準備修改 DNS 伺服器,先將這裡的兩台 DNS 伺服器複製起來。
這裡我的 DNS 伺服器是 guss.ns.cloudflare.com
與 lisa.ns.cloudflare.com
,每個網站在註冊時可能都會不一樣。
Step 6
修改自己原本的 DNS 伺服器設定,這裡以 GoDaddy 做示範。開啟網域的 Settings 頁面,找到 nameservers 設定的部分,點選 Manage。
Step 7
將 nameserver 改為上面 CloudFlare 所提供的那兩台。
修改好並儲存之後,通常要等一段時間才會生效。
Step 8
在等 DNS 的 nameserver 設定生效之後,在 CloudFlare 網頁上,剛剛加入的網域就會顯示一個綠色的小勾勾,這樣就表示設定完成了。
設定好 CloudFlare CDN 之後,所有網站的流量都會經過 CloudFlare CDN 伺服器再連到我們的伺服器,而所有資料的快取與惡意流量的阻擋問題,CloudFlare 都會自動處理。過了一段時間之後,可以回來 CloudFlare 的網頁上瀏覽網頁流量的報表。
在流量的報表中,除了基本的流量統計之外,還有惡意流量阻擋次數,以及透過快取所節省的流量。
由於 CloudFlare 會使用快取的方式將網頁暫存在 CDN 伺服器上,如果原始的網頁有變動時,一定會有一段更新的時間差,這個對於一般的訪客而言問題不大,但是如果是網站管理人員在修改網頁時,無法及時檢視更新的內容,會造成開發上的困擾,這時候就可以點選右方的齒輪圖示,啟用 CloudFlare 的開發模式(development mode)。
啟用開發模式之後,網站的所有變動都會立即被顯示出來,以利於開發者及時查看修改的結果。開發者模式預設會持續三個小時,三小時之後 CloudFlare 會自動恢復成正常的快取模式,當然您也可以自己手動切換。
在 CloudFlare 的設定(settings)頁面中,有非常多關於安全性防護與效能最佳化的選項可以調整,例如 DDoS 防護、Email 位址的 obfuscation、快取時間、HTML/JavaScript/CSS 的最小化等等,您可以針對各種功能個別做設定。
因為這裡的選項非常多,如果不想逐一調整(或是您根本搞不清楚這些是什麼),可以使用既有的 profile 套裝設定,直接選擇安全性的高低以及最佳化的層級就好,剩下的 CloudFlare 會自動調整。
另外這裡有一個「Purge cache」按鈕,可以讓您手動清除所有的快取。
如果您的網站是使用 WordPress 架設的話,加上 CloudFlare CDN 之後,所有的訪客在留言時所記錄的 IP 位址會都變成 CDN 的位址,這個問題可以藉由安裝 CloudFlare 的 plugin 來解決。
CloudFlare 的 WordPress plugin 除了可以讓訪客的 IP 位址正常顯示之外,他也可以整合 WordPress 的垃圾留言資訊,提供給 CloudFlare 作為參考,加強網站的防護措施。
ping
實測在我的設定中,blog.gtwang.org
與 ftp.gtwang.org
完全是同一台機器,而只有 blog.gtwang.org
這台有使用 CloudFlare 的加速,ftp.gtwang.org
因為是 FTP 上傳檔案使用的,所以沒有使用 CloudFlare 的 CDN,以下是以 ping
測試的結果。
在加上 CDN 之後,理論上用 ping
來測試網頁伺服器的話,都會比較快一些,不過因 DNS 在修改之後,需要等待一段時間才會生效,而這個時間的長短會跟自己的 DNS 設定有關(也就是 TTL),我是等一天之後才測試的。
參考資料:Fundesigner