某台持續爬網頁抓資料的排程忽然出現 The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel 訊息,推測為 SSL 憑證失效引起。
連至該主機使用瀏覽器檢視,果真憑證顯示異常:
![](http://www.darkthread.net/Photos/3821-3354-o.gif)
錯誤訊息如下:
Windows does not have enough information to verify this certificate.
Windows 沒有足夠資訊可以確認這個憑證。
對照其他主機看到的憑證則很正常。
![](http://www.darkthread.net/Photos/3822-1bd0-o.gif)
爬文得知此類問題出在缺少受信任的根憑證授權單位(Trusted Root Certification Authorities)或中繼憑證授權單位(Intermediate Certification Authorities)憑證資料造成。實際檢查問題主機,VeriSign CA 憑證 OK,但少了 Symantec Class 3 Secure Server CA - G4 中繼 CA 憑證。
![](http://www.darkthread.net/Photos/3823-6d95-o.gif)
最後,由其他主機匯出 Symantec 中繼 CA 憑證安裝在問題主機後順利排除問題!
問題已解,留下幾個疑點:
- 缺憑證問題多發生於第一次連網站。早上還正常,近中午才出現缺少中繼 CA 憑證錯誤有些令人費解。
- 依我的理解,SSL 協商過程網站有責任附上中繼 CA 憑證供瀏覽器驗證信任鏈,為何需要手動補安裝?
因無法重現問題反覆檢驗,先歸入 X 檔案。