天天看點

關于HTTPS配置證書異常的問題排查

作者:東東程式猿

引言

最近遇到多次HTTPS域名通路異常的情況,針對此類問題彙總一下CDN側排查思路:常見HTTPS證書配置異常的分類:

1 證書過期

2 使用者自有證書未生效(已經走京東證書)

3 證書缺失

具體分析方法:

一 、當通過浏覽器通路https域名時候,出現證書過去報錯:

關于HTTPS配置證書異常的問題排查

原因:

1、目前電腦系統時間錯誤,所有的http安全證書都有頒發日期和截止日期,電腦系統時間在證書有效時間區間之外有可能導緻浏覽器提示網站https安全證書已過期或還未生效。

2、網站的https安全證書确實已經過期,根據https安全證書簽發國際标準,https安全證書頒發不能超過39個月。

3、站點引用其它部署了https安全證書的外鍊,如果這個外鍊的證書過期了也會提示相應的錯誤。 能檢測出外鍊有證書錯誤的終端裝置有:手機浏覽器、PC端IE6 (IE6以上的不提示)。

解決:

1、 電腦系統時間不對:将電腦系統的時間調整至https安全證書有效期之内。

2、 https安全證書過期:需要網站所有者到https安全證書簽發機構CA續簽證書。

3、 目前站點外鍊網站的https證書過期:需要網站所有者撤銷外鍊或者外鍊網站所有者到CA機構替換或續費證書。

二、使用者自有證書未生效(已經走京東證書)

測試方法:

openssl s_client -connect 183.214.145.195:443 -servername cdnimg.liehu.ijinshan.com

可以看到如果使用者有自有證書,裝置生效後,不應該出現CN=*.jdcloud.com,而應該是使用者提供的證書,如:CN=*

關于HTTPS配置證書異常的問題排查

解決:

此類問題需要運維看一下我們裝置是否配置未生效或是證書未同步。

三、證書部分缺失

首先,我們要了解完整的證書鍊=【根+中間+域名】,浏覽器自帶根證書,由于其他https網站也會是這個結果,是以中間證書也基本是那幾個,浏覽器通路時會儲存中間證書,是以當創世雲隻有域名證書時,浏覽器已經自帶了https通路需要的根證書和中間證書。(參考https://www.v2ex.com/t/314604),是以當使用者通過浏覽器通路,由于節點配置的證書鍊不完整,大多數浏覽器由于此前通路過其他https,是以都保留了根證書和中間證書,不一定會出問題。但部分用戶端通路會存在問題。

1、測試方法:openssl s_client -connect 59.63.167.5:443 -servername f6.market.xiaomi.com

報錯資訊:

關于HTTPS配置證書異常的問題排查

正确傳回值:

關于HTTPS配置證書異常的問題排查

此方法可以即驗證裝置證書是否正常,同僚可以未來裝置證書配置是否正确的一個方法。

2、測試方法:

同時我們也可以通過curl指令針對故障的節點抓取驗證

curl -v -o /dev/null 'https://f6.market.xiaomi.com/download/ThemeMarket/0969c41560b28f09d64241cbf06c1efbd2243c862/1.jpg' --resolve 'f6.market.xiaomi.com:443:59.63.167.5'

3、故障現象:

關于HTTPS配置證書異常的問題排查

這個指令會驗證完整證書鍊,如果加-k,隻會驗證域名證書。您給到我方的隻有域名證書,是以,如果用這個指令,會提示證書有問題,-k則不會提示

3 本地hosts固定節點,通過浏覽器通路

敲黑闆,注意了:

(1)關于證書校驗,用戶端或者浏覽器會校驗整個證書鍊(比如,從域名證書,到中間證書,到根證書,逐個驗證),隻有整個證書鍊完整,且完全可信,浏覽器或者用戶端才會認可。是以 《證書校驗,其實是證書鍊校驗》

(2) 根證書,中間證書有一定的通用性。由同一個中間證書簽發的所有域名證書都可以被該中間證書進行驗簽。

(3)一般來說,浏覽器(chrome, safari, 或者系統) 會預裝根證書,而中間證書我個人感覺不會預裝。 在我們使用浏覽器浏覽各種各樣的網站時,浏覽器《有可能》會儲存一些 中間證書,留着給一些沒提供中間證書的 http伺服器使用。 對于本案例浏覽器通路200正常,有可能浏覽器協助補全的證書鍊。

解決:

1 使用者提供完整的證書,重新配置

2 我們提供其他使用者提供的正常伺服器,自己補全--需要研發提供補全日志。

方法:openssl s_client -connect 180.149.158.172:443 -servername f6.market.xiaomi.com -showcerts

繼續閱讀