免費 CDN 服務:CloudFlare 介紹

CloudFlare 是一間網站效能與資安公司,CloudFlare 讓您很容易的將您的網站變得更快更安全,就如同開啟網路上的知名入口網站一般快速。

CloudFlare 的核心之一是 CDN 技術,什麼是 CDN 呢?

CDN:Content Delivery Network,或稱內容傳遞網路

用白話一點來說,就是先幫你把可以快取的靜態內容抓到 CDN 服務的伺服器,藉由獨特的運算法找出離使用者最近的伺服器,再將內容遞送給使用者。

有興趣的人可以了解 Wiki 中對於 CDN 的優點分析

一般網站使用 CDN 會有甚麼好處呢?

  1. 節省流量:這是最顯而易見的好處。我們曾試過幫一個高流量網站掛上 CloudFlare ,流量降了 85% 以上 ( 該站是純貼圖的網站,只有圖片而且圖片都不大,一般網站無法節省到這麼多流量,但還是可以讓你感受到很大的差別,官方數據平均能節省 60% 的流量 )
  2. 加速訪客瀏覽速度:CloudFlare 目前有 23 個機房,分布在全球各處,亞洲主要有新加坡、日本與香港三個點。
  3. 增加網站安全性:使用 CDN 後,網址的 IP 會指到離訪客最近的 CND 快取主機 (這也是為什麼使用 CDN 服務會有加速的功能),所以等於您的網站是在 CDN 主機後方,加上 CDN 服務也附加了 WAF (Web Application Firewall) 防火牆,所以整體而言能增加網站的安全性。
  4. 網頁內容最佳化 (Web content optimization):這部分可分為兩點說明,降低連線數與加快傳遞速度。傳統的 CDN 只是把內容從最近的點 push 給訪客,CloudFlare CDN 還可以針對訪客的特性將遞送內容做最佳化。例如將多個 Javascripts 結合成一個以降低連線數,或是偵測訪客使用的裝置 (行動裝置、PC),若是螢幕較小的行動裝置便自動將圖片等資源以較小的大小送出。降低連線數有甚麼好處呢?答案是會加快載入的速度,因為每一次的連線都會浪費一些時間在 TCP 交握上。
  5. 免費的 DNS 代管服務:若不用 CloudFlare 的 CDN 服務,直接拿來當免費 DNS 代管其實也很好用。CloudFlare 的介面簡潔討喜,申請程序又非常的直覺快速,基本上只當作 DNS 代管服務也非常的適合。加上 DNS 系統是 CDN 服務的基礎設施,因此推斷 CloudFlare 的 DNS 應該是很穩定不容易掛的 ( DNS 掛了 CDN 服務也等於全掛了 )。

註:目前 CloudFlare 已有提供中文介面,位於網頁最右下角有選單可選擇,不過翻譯的內容是呼是由 Google 翻譯出來的。

CloudFlare 申請流程如下,註冊好帳號後,加入網域 (Add website):

增加 CDN 服務使用的網頁

輸入網域按下 Add website

輸入網域按下 Add website,CloudFlare 即會開始做一個 60 秒的 DNS record 掃描,掃描完成後,按下 continue setup 繼續 …

cloudflare 掃描 DNS 紀錄

CloudFlare 掃描 DNS 紀錄

掃描結果:

CloudFlare CDN 擷取的 DNS 資料

CloudFlare CDN 擷取的 DNS 資料

上圖可以看到 CloudFlare 自動判別 ggg.com.tw 與 www.ggg.com.tw 使用 CDN 服務,非常的聰明。在這裡我們檢視一下是否有需要修改的地方,CloudFlare 會先截取目前在使用的 DNS Zone 資料,包含 MX 等紀錄,所以我們幾乎不用做太多設定。我們也可以針對每個 DNS 紀錄 (record) 決定是否要經過 CloudFlare 的 CDN (直接點一下雲的圖示即可),例如以 ggg.com.tw 來說,我們可設定 ggg.com.tw 要使用 CDN 服務而 www.ggg.com.tw 直接 bypass。

沒問題後就按下

I’ve added all missing records, continue

選擇初始設定:

cloudflare 方案內容

這裡選擇方案與服務預設的模式

我們先使用免費方案測試看看,免費對於一般網站使用已經足夠,免費與付費方案的差異主要在分析報表更新速度、自訂 Page rules、更高的安全性進階設定、進階 DDoS 防範功能以及 SSL 的支援等等 (參考網頁說明)。效能 (Performance) 與安全性 (Security) 也先照預設選擇。

變更 cloudflare dns server

將網域 DNS 改為上述 DNS Server

申請 CloudFlare 到這一步,我們需要把網域的 DNS 指向 CloudFlare 的 DNS 主機,看您網域是在那邊申請的,到網域註冊商那邊更改。有趣的是 CloudFlare 的 DNS 主機似乎都是用人名來命名,例如這裡是 Josh 與 Lisa。

要注意的是若網域無法指向 CloudFlare 的 DNS,則該服務是不會開通的。

更改完 DNS,最後按下 Continue 後,CloudFlare 就開始運作了:

cloudflare 申請完成!

DNS 指向完成後,待 CloudFlare 驗證完畢後,服務就已經開通了

我們可點選最右方的齒輪按鈕,這裡可以變更細部設定。

cloudflare options

我們來看一下 Page rules 這個功能:

CloudFlare page rules

Page rules 允許使用者針對特定網頁作細部的設定,例如是否要做轉址 (Forwarding)、快取過期的時間 (Cache expire TTL)、安全性掃描 (Security) 是否開啟等等。Page rules 支援使用 * 號,例如:example.com/* 會符合下列情況:example.com/blog、example.com/directory,但是不符合:example.com、blog.example.com。*.example.com 會符合 blog.example.com、www.example.com 但是不符合 example.com。免費版的只支援 3 個規則。

再來看看 Threat Control (威脅控制功能):

cloudflare 威脅控制

CloudFlare 會自動阻擋一些來自中毒的殭屍電腦、Web spammer (垃圾訊息發送者) 的連線,這些有問題的 IP 在連線時,CloudFlare 會自動跳出 CAPTCHA 驗證碼給訪客輸入,輸入正確才允許連線。

結論:

CloudFlare 真的是一個很令人驚艷且成功的雲端與資安服務,他把 CDN 服務推向了另一個世代,可惜台灣目前並沒有當地機房服務台灣的訪客,但是假設您的網站每月都要付出超額的流量費用,CloudFlare 真的會幫您省很多開銷 (我懷疑巨額的流量費用是否能繼續支撐免費的方案)。CloudFlare 近期才獲得一輪 2000 萬美元的投資,期望 CloudFlare 在日後能再次驚豔大家的眼界 (Surprise me)!

註:目前的網站大多使用非常多的 Ajax 技術,Ajax 技術的底層 Javascripts 在做快取時,有時會影響正常的 Ajax 運作,這時可以在 CloudFlare 管理介面 CloudFlare settings / 將 Rocket Loader (Web optimization) 設為關閉 (Off) 再試試看,或是將有問題的頁面用 Page rules 排除掉看看。

Rocket Loader 功能

Rocket Loader  (Web optimization)

* CloudFlare 針對 WordPress 有出一款 pluging,主要是修正對應的訪客 IP 地址。有使用 WordPress 的使用者可以參考看看:http://wordpress.org/extend/plugins/cloudflare/

* 遠振自 2012/12/14 已正式成為 CloudFlare Certified Partner,遠振資訊的虛擬主機用戶只需於虛擬主機控制台內點選 CloudFlare 圖示,就可在 30 秒內開啟 CloudFlare 服務,連 DNS 都不需變更喔!

遠振資訊成為 CloudFlare Certified Partner

  • CDN真是個不錯的技術啊~只可惜目前台灣的機房還沒有提供這樣的服務啊~

  • 台灣其實不是很大,CDN 服務不知道是否在台灣能成氣候 …

  • 請問您的憑證也是cloudflare送的嗎

  • Cynthia Chu

    請問哪種角色對象業者(明確點敘述)會需要CDN?

    • bareck

      對於有需要賣東西到國外的業者或貿易商,例如工具機產業台灣很發達,國外買家會瀏覽工具機廠商的網頁,此時CDN服務就很有用,可增加外國當地買家瀏覽網頁的速度。