免費的雲端加速網站代理服務—CloudFlare,讓你的網站變得又快又安全!

16
77,108 人次

image

你聽過「CDN」這種越來越流行的網路服務嗎?CDN是一種網站代理服務,提供CDN服務的公司,會擁有非常充沛的網路頻寬,並在不同地點建置伺服器,然後根據訪客的位置,從最近的伺服器提供網站的資料給使用者,世界上有不少大型網站(如NBA、癮科技、Download.com…)都開始採用CDN服務。一般的CDN服務都是根據流量來計費的,但是今天阿正老師要介紹的這間「CloudFlare」CDN服務卻是完全免費!而且還能直接幫你代管DNS,除了增加網站載入的速度,幫你節省大量的頻寬費用之外,還可以將低原本主機的負載,並能防止不肖人士攻擊你的網站喔!這麼好用的服務,有自己架設網站或主機的玩家們一定不能錯過!

(※本文原刊載於《密技偷偷報 No.58》)

Internet讓世界上的電腦「天涯若比鄰」,短短幾秒之內我們便可透過Internet連上接世界各地。但隨著上網人數的增加,網路流量也越來越大,造成某些網站頻寬的不足,因此為了讓世界各地的人們都更快速連上這些網站,網站的經營者便開始使用「CDN」這種服務。

什麼是CDN?

CDN是Content delivery network的縮寫,中文譯為「內容傳遞網路」,CDN服務商會在多個地點建置網路伺服器,並擁有龐大的網路頻寬,主要目的是提供給大型網站「反向代理」(Reverse Proxy)的服務,將原本網站的內容暫存在CDN主機上。

當使用者想連上網站來下載資料時,CDN服務商會依照使用者地理位置的遠近,自動由最近的CDN主機提供資料,因此可以加快下載的速度,並且大量節省原本網站的主機負荷及網路頻寬。

下面是CDN使用前後的示意圖(圖片取自MaxCDN.com官網),第一張是使用CDN服務前,所有的使用者全都連到單一台主機去下載資料,不但主機需要的頻寬很大,還可能因分散式攻擊而癱瘓。

clip_image002

當該網站使用了CDN服務之後,使用者連到的網站會自動切換到最近的CDN伺服器,因此大量降低了原本主機的頻寬及負載,即使某一台CDN伺服器故障或被攻擊癱瘓了,會自動切換至另一台主機頂替,因此網站的上線時間(uptime)幾乎可以達到100%。

clip_image004

一般的CDN服務商都是以網路流量來計費,雖然不便宜,但是原本網站所需花在建置備援主機、負載平衡及網路頻寬的開銷卻可以大量降低,而且網站的可用度更高,因此使用CDN服務算起來反而更划算。

舉個例子來說,如果你使用命令列模式去「ping」知名的NBA官方網站(www.nba.com),會發現回應的時間只有不到20ms,一般在美國的網站回應時間少說都要150ms起跳,為什麼NBA網站會這麼快,難道是在台灣有分站嗎?其實沒有,因為NBA使用了美國最大的CDN服務商—Akamai,而Akamai在台灣的Hinet及TANet都有代理主機,因此國內的使用者可以用極快的速度來開啟該網站。

image

如下圖為筆者所使用的一間美國CDN服務商,可看到左下角有各地伺服器的流量統計,因為台灣到美國的光纖在加州登路,因此幾乎流量都在洛杉磯的伺服器(因該服務商在亞洲無代理主機)。

image

 

免費的CDN服務—CloudFlare

你可能會以為只有大型的網站才需要CDN服務,其實不然,一般的網站也可以使用,因為除了降低你原本網站的流量及主機負載之外,使用CDN服務可以將你網站的真實IP給隱藏起來,避免遭到攻擊,即使你的網站主機短時間斷線、當機或重開機時,CDN也能繼續提供不中斷的網頁服務。

使用CDN服務的方式主要有兩種,一種是將網站中流量最高的部份(如圖片、影音、提供下載的檔案)使用CDN來節省主機的頻寬;另一種是將整個網站都直接交給CDN做反向代理。使用CDN服務的先決條件是你必須擁有自己的網域名稱(不論是付費或免費),因為CDN服務商主要是藉著網域名稱(DNS)的查詢,將來自不同地區的使用者導到不同的CDN主機,因此如果你使用免費的部落格(如無名、痞客邦、Blogger…)是無法將你的網站改用CDN服務的(除非你另外購買自己的網域,綁定在支援自訂網域的部落格服務)。

CloudFlare簡介

CloudFlare是一間2010年才成立的CDN服務公司,除了提供企業級的付費CDN服務之外,還提供了免費的方案供一般民眾使用,它的優點是在美國、歐洲、日本、香港都有CDN的機房,因此如果你的訪客來源主要來自亞洲,可以得到相當快速的下載速度。

CloudFlare的工作原理其實很簡單,原本要造訪你的網站的訪客會先到你的DNS查詢網域所對應的IP位址紀錄,然後再透過這個IP連上你的網站。雖然連接你的網站很方便,但是可能因為頻寬的不足,造成訪客一多時會塞車,加上惡意的駭客、網路蠕蟲知道了網站的IP位址,可以直接向你的主機發動攻擊。

clip_image010

當使用了CloudFlare這種CDN服務之後,因為將DNS給CloudFlare代管,所以訪客查到的IP位址是CloudFlare的反向代理主機(不是你原本主機的IP),訪客必須透過代理主機才能連到你的網站,因此除了可以避免攻擊之外,代理主機上面會暫存你網站上的資料,因此有許多靜態的檔案(如網頁、圖片、影片…)就可以直接由CloudFlare的代理主機來提供(會自動判斷離訪客最近的主機),加上CDN主機的頻寬相當充足,因此不但訪客開啟網站的速度變快,還可大量節省你原本網站的頻寬喔!

clip_image012

據官方說法,CloudFlare所提供的CDN服務平均可以讓網頁載入的速度加快30%,並節省60%的頻寬及65%的網頁請求,加上提供了網頁安全防護服務,如果你是自己租賃虛擬主機或實體主機來架設網站,使用CloudFlare的CDN服務可以讓你的網站變得更快、更安全、更省頻寬,而且CDN還不限流量喔!

image

>>請翻到下一頁:申請CloudFlare

16 意見

  1. […] 因為我使用的是免費的網頁空間,而免費空間的缺點就是有時常常會進行維修,另外因為主機在國外,連線速度很慢,在軟體玩家看到阿正老師的免費的雲端加速網站代理服務—CloudFlare,讓你的網站變得又快又安全!這篇文章後,馬上試用覺得有不錯的效果,因此發表這篇文章利用數據說明使用CloudFlare之後的成效。 […]

  2. 阿正老師解說的很詳細,不過小弟黝個問題,當我使用、設定CloudFlare完成後,速度的確被快,但google adsense載入的速度反而變慢,因為他也是JS的,此醋應該如何解決,謝謝正哥老師。

  3. 感謝 阿正老師分享這則訊息。

    我有幾點不是很明白想請教您。

    一、用這個代理,會對google的 adsense點擊造成漏失嗎?

    二、我的網址我有設多個子網域,例如:http://flower.ibook.idv.tw/,那麼,我需要做些什麼設定嗎?

    例如,每一個子網域都要設定一次。

    還是我只要設定 http://ibook.idv.tw 就可以了,它會將我ibook.idv.tw 該網域裡所有的子域都轉過去?

    還請您為我解惑,感謝您。

  4. 我看他的網路分佈圖,亞洲部份只有新加坡、東京、香港、南韓,就是沒有台灣,那麼用了 CloudFlare 如果是在台灣的 user 連線會是怎樣的情形? 跑到最近的東京或香港要求response嗎? 這樣台灣的連線不是更慢了嗎??

發表迴響