由於我的網站一直以來都是以家中的12M/4M光纖所架設的,頻寬是比較少的,最近就試用了 CloudFlare 這個 CDN 服務,CloudFlare 有提供很多的服務,因此衍生了有的沒得用途,以下大概是我自己網站發現到的用途,詳細的服務請自行參考官方網站
- 省頻寬,減少主機負載,這是一般 CDN 基本的,因為 CloudFlare 是反向代理,有很多靜態的東西都被 CloudFlare 快取了,所以真正的主機就輕鬆多了。
- 可充當 DNS Server,像我 DNS PC HOME 申請的,不能輸入太多 DNS 紀錄, CloudFlare 就可以充當 DNS,就等於免費 DNS 代管了。
- DDOS 防護,CloudFlare 上面可以設定很多安全防護,因為他屬於反向代理,流量都會透過 CloudFlare,自然多了一層保護了。
- 不太想讓人知道我主機真正的 IP,沒錯,自己架的還是很危險,CloudFlare 因為是反向代理,所以 IP 都是 CloudFlare 的,沒人知道我的主機 IP 了,這樣我主機上其他的服務自然不容易被駭客拿來玩是吧。
要使用 CloudFlare 很簡單,去官方網站註冊,可以切換中文介面,透過他的引導操作就可以了,或者去Google搜尋一下很多 CloudFlare的操作教學,這裡就補充一點,就是 Apache 或 Nginx 的 log 可能都只會紀錄到 CloudFlare 的 IP,因此必須加裝相對的模組,以下網址就提供 Apache 模組可以讓 log 紀錄到真正的 client IP
https://www.cloudflare.com/resources-downloads
而 Nginx 則看看以下網址
https://support.cloudflare.com/entries/22051973-Does-CloudFlare-have-an-IP-module-for-Nginx-
這邊簡單說明 CentOS 如何加裝 Apache 模組
- 先確定 OS 內有 httpd-devel 套件,用 yum install httpd-devel 安裝就行了
- 下載 source code mod_cloudflare.c 回來
- 下命令 apxs -a -i -c mod_cloudflare.c 就會自動編譯一個 mod_cloudflare.so 並且安裝到 httpd 的 modules 路徑了,而且也會自動新增一行 LoadModule 指令在 httpd.conf
- 自己新增一個 /etc/httpd/conf.d/mod_cloudflare.conf,然後打下面幾行,然後重啟 httpd ,這樣就能記錄到真實的 Client IP
<IfModule mod_cloudflare.c> CloudFlareRemoteIPHeader CF-Connecting-IP </IfModule>
完逼,現在我的網站真的比較快了喔 ^^ 如果覺得不錯用,企業有需求的,可以付費取得更高檔的服務喔,各位試試看吧。