1. 程式人生 > >ssl證書上線流程

ssl證書上線流程

https

1. 先確定哪些業務需要https

一般不建議所有都走https,能不走就不走用戶中心、支付等重要數據的需要走https

2. 拆分各個業務線,降低耦合性
將各個模塊進行拆分,耦合性越低越好,尤其是不走http的業務和走https的業務最好要拆分。

3. 前端配置ssl證書
如果有會話保持,則考慮使用redis或者memcache或者用nginx進行反向代理來解決會話保持走https的問題。(這裏涉及的問題比較多:https自動阻塞http資源的加載問題及https會話到http的登錄的會話失效的問題,當然會話保持的問題是否失效也跟軟件的架構有關系,視情況而定)。

4. 購買哪些域名的ssl證書


購買域名的https認證可以考慮泛型的域名證書:比如*.aaaaa.com

這裏需要註意:泛型證書不支持三級域名,如果三級域名需要添加則需要另外購買

5. 代碼級別更改。
PHP

1)php入口文件控制器,來實現控制http轉成https
2)由於網站會調用第三方的軟件或者第三方的樣式文件,這個需要跟第三方的軟件供應商協調溝通是否支持,同時對於第三方不支持的樣式文件可以不通過加載第三方的樣式文件,將其下載到服務器中進行解決(可以考慮程序上解決,一般不建議,最好是將其放到服務器中來解決block問題)
3)文件中寫死的http://,修改https://或者不加http://
JAVA:

1)java調用https時會出現unable to find valid certificationpath to requested target,這個是jdk自帶的安全證書不受信任,一種是代碼實現:參考http://mengyang.iteye.com/blog/575671;一種是手動導入安全證書的方式解決問題。
如下是手動方法解決:(這個是我在工作中遇到的,當時是java項目中有定時任務創建目錄和緩存文件,但是上線ssl後一直沒有成功)
a.導出訪問該網站的證書
b.安裝該證書到java項目的jdk中
cd jdk/jre/bin && keytool -keystore../lib/security/cacerts -import -alias your.ssl.server.name (比如openhot.org) -file 證書路徑(如D:../openhot.org.cer)
輸入秘鑰:默認都是changeit
c.重啟項目
2)java項目中其他問題也參看php的問題。

6.對於前端使用緩存的,必須加上ssl證書

我們公司自建的各個節點的緩存服務器都需要更新,這時候可以參考我的自動化部署文章。

7. CDN上線ssl證書需謹慎

CND大家肯定熟悉,基本上公司都會用到,這個需要提前跟供應商溝通,最好能先提供一個測試的CDN,然後將整體的擬真環境走該測試的CDN進行測試,跑2個月左右,各個業務線及接口測試的沒有問題了,再謹慎上線。

8.關於客戶端瀏覽器的問題
詳見下圖:
技術分享


最後多嘮叨兩句:一定要將各個業務線都在測試環境中測試好後,再謹慎上線

參考文檔:
http://mengyang.iteye.com/blog/575671
http://www.ttlsa.com/web/sni-multi-domain-virtual-host-ssl-tls-authentication/


本文出自 “老逗” 博客,請務必保留此出處http://laodou.blog.51cto.com/11975789/1977715

ssl證書上線流程