《轉》http://virtualadc.blog.51cto.com/3027116/1109509
隨着移動互聯網,網銀支付等等的普及,越來越多的應用開始重視私密性和安全性,最常見的就是把原有基於明文傳輸的HTTP調整為加密的HTTPS方式;實現這種方式的最常用的手段也是購置第三方發布的域名證書,部署到后台每台服務器上。
但是SSL的加密/解密是最消耗服務器資源的應用,HTTP到HTTPS部署后很可能會發現服務器的性能和處理能力大幅下降;而專用的應用交付設備通常內置硬件的SSL加速卡,可以高效的處理SSL加密流量。一個簡單的對比動畫圖如下:
HTTPS加速/SSL卸載的目的和用途
將在服務器上的證書加解密的功能遷移到負載均衡設備上
主要優勢有
- 減低服務器負載,SSL處理非常消耗服務器的性能
- 提升SSL處理能力;應用交付設備采用專用的SSL卸載硬件芯片實現
- 降低管理員操作復雜性;無需管理和配置多個服務器的證書;只需要在前端負載均衡設備上實現即可
- 提升應用安全性;將加密的HTTPS解密為明文的HTTP后,可根據請求/響應內容等設置多種策略
證書的種類
客戶需要向提供證書的第三方機構申請,例如GeoTrust, VeriSign, Thawte等授權證書機構
證書簡單的區分有2種分類方式
- 單一域名證書;例如 www.example.com
- 通配符證書;例如 *.example.com 更貴
- 普通型證書 例如
支付寶: 普通證書
- 增強型(EV SSL) 證書 更貴, 例如
- 工商銀行網銀: 增強型證書;顯示為綠色,同時顯示網站名稱
收到的證書是什么樣子的
以GeoTrust為例;證書通常通過郵件轉發的;通常包括網站證書; 中級證書和交叉證書;
另外還有證書的密鑰Key(請妥善管理密鑰,這是非常機密的重要文件)
如何將證書導入到應用交付設備中
每個應用交付設備的具體配置方式可能不同,此處以A10網絡的AX設備為例
證書文件的准備
使用文本編輯器,例如UltraEdit
1:將密鑰文件保存為key.PEM
2:網站SSL證書保存為cert.PEM
3:將交叉證書和中級證書保存於同一個文件中,例如cert-chain.PEM
注意交叉證書先;中級證書后
證書文件的導入
在A10設備的配置模式中, 在服務>SSL管理中 分別導入上一部定義的3個文件:
導入證書cert.pem並根據需求命名,例如mail2012
導入證書鏈cert-chain.pem並根據需求命名,例如mail2012-chain
導入私鑰key.pem並根據需求命名,例如mail2012-key
至此證書導入完畢。
證書文件的配置和應用
在證書准備完畢后,需要將其關連配置后再啟用;
首先創建終端的SSL模板,在配置模式>服務>模板中
最后一步,即將配置的終端SSL模板應用於提供應用的VIP端口下,通常為443端口,注意端口類型選擇為https
至此配置結束。
啟用證書后的功能驗證
配置結束后,在正式應用對外發布前,可以進行內部的測試驗證;
例如域名為www.example.com在應用交付設備上對應的VIP 地址為1.1.1.1;那么可以在DNS發布前通過修改本機的hosts域名解析先進行測試驗證后再對外發布;測試時瀏覽器不再提示非法的證書,基本就可以說明證書部署是成功的。
需要注意的是:在極個別的案例中,我們發現有用戶在應用層面(例如web服務器的響應回報中)寫定了http的方式(例如下圖)
此時是有可能造成https訪問存在問題的,可以通過后台程序的修改;或者使用應用交付設備的7層內容更替(例如A10設備的aFleX)功能在后台程序不變的情況下智能修改返回給用戶的內容來實現