本Blog正式進入https時代啦!
應該很多人都注意到CloudFlare的免費方案也有SSL了,不過大家知道他的原理是什麼嗎?
首先介紹一下CloudFlare的SSL設定:
Flexible SSL模式是只有訪客連線到CloudFlare用SSL加密,CloudFlare連線到原始主機是用443端口但是沒有加密(還是http,只是端口是443)
Full SSL模式是全部連線都用SSL,不過CloudFlare不會檢查原始主機的SSL憑證,也就是說可以用自己簽的憑證 (推薦)
Full SSL (Strict)模式是最安全的,也是全部連線都用SSL加密,而且CloudFlare會檢查原始主機的憑證,所以不能使用自己簽的(不過都有有效的SSL憑證了幹嘛用CloudFlare的= =)
網頁上寫說免費方案的SSL可能需要24H才會開通,不過我睡前設定醒來就已經好了,大概6~24H吧;一旦啟用,所有子域名都可以使用。
原理篇:
免費方案的SSL使用的是「通用SSL(Universal SSL)」,所以CloudFlare只要一個IP、一張憑證就可以加密N個網站,如圖↓
所以CloudFlare只要把域名添加到這張憑證就好了,既方便又安全!
不過通用SSL在Android3.0以下、IOS4以下、IE7以下、Safari 2.1以下、Windows Phone 7以下不支援,會顯示錯誤。
http://cloudflare.github.io/sni-visualization/可以看到有多少%支援通用SSL,台灣大約91%應該除了Android以外都支援通用SSL;不過對岸只有不到60%,所以如果你主要訪客來自大陸的話就必須好好考慮了。
CloudFlare的Blog寫到:
We also have plans to expand the universe of supported browsers slightly by taking advantage of connections that arrive over IPv6 for browsers that don’t support SNI.
我們考慮用IPv6來解決舊版瀏覽器不支援通用SSL的問題
或許大家會想說SSL不是CloudFlare的主要收入之一嗎?
CloudFlare的Blog寫說:
even if it does hurt revenue in the short term, it’s the right thing to do.
As Google and the IETF work on the next generation Internet protocols like SPDY and HTTP/2, it’s no wonder encryption is at their heart. And so, in order for CloudFlare to fulfill its mission of helping build a better Internet, we knew one of the most important things we could do was enable Universal SSL for all our customers — even if they don’t pay us.
小結:
我看完CloudFlare的Blog好感動喔,不過似乎他們官網的伺服器流量太大了,一直出問題……..