Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構

3.9. SSL

SSL 加密傳輸,為電子商務提供交易安全保護,什麼時候該使用 SSL呢:

使用SSL

  1. 用戶登錄

  2. 購物流程

  3. 支付

什麼時候不使用SSL? 經過SSL加密後,你就失去了很多功能,你不能在對頁面做Cache/CDN,SSL加密與解密需要耗費你的伺服器CPU與內存資源,能不使用儘量不使用。

對於SSL消耗你伺服器資源這方面有兩個方案解決

  1. 將SSL證書安裝到CDN上,目前藍訊,網宿等等CDN廠商都提供SSL服務。我與上兩家技術人員溝通過,也安裝了證書實際測試一下,你可以放心是使用。

  2. 將SSL證書安裝到負載均衡設備,這些設備都採用專用硬件處理SSL請求,我測試過F5,Array,Banggoo

採用上面兩種方案,無需改變你目前的伺服器配置,他們的原理是

		
user (https://www.example.com) --> CDN or SLB (SSL) --> http://www.example.com
		
		

用戶訪問https,到達CDN或者負載均衡,CDN/SLB 通過http://請求源站,然後將內容SSL加密,返回給用戶,這樣用戶得到的是加密內容。

用戶提交數據,交給CDN/SLB,CDN/SLB將SSL加密數據卸載證書,然後將解密後數據發回源站。

CDN與SLB加載卸載證書原理很簡單,不難理解。

我來教你DIY一個,你可以使用Squid,Nginx,Apache等等反向代理伺服器,將證書安裝在反向代理上,請求源站仍然採用http。

[提示]SSL注意事項

你如果認為把SSL掛載到網站前端就,大功告成,完事了,那你錯了。

幸運的話你會成功,但有時的時候你發現你的證書不被信任。如果你是個細心的人,你會發現單個圖片,或者你創建換成測試檔案 echo helloworld > index.html 證書都是OK的。

這個問題出在你的html頁面中,安裝有SSL證書的網站,不能有外鏈js,flash等等不安全內容。