一個空行引起的阿里雲負載均衡上部署https證書的問題


今天在阿里雲上購買了WoSign的https證書,在證書簽發后,在控制台下載證書文件,一共有2個文件,一個是.key文件(私鑰文件),一個是.pem文件(證書文件)。

然后在阿里雲負載均衡“證書管理”控制台中創建證書:

將.pem文件中的內容復制/粘貼到上面的“證書內容”文本框中,將.key文件中的內容復制/粘貼到上面的“私鑰”文本框中,創建證書總是失敗。

查看.pem文件中的內容發現有3個證書(3段以“-----BEGIN CERTIFICATE-----”開始以“-----END CERTIFICATE-----”結束的內容),於是試了試改為只復制/粘貼第1個證書,結果竟然創建成功了。

然后配置到對應的負載均衡上,用https訪問站點,Chrome下正常,Safari下正常,IE下正常,唯獨Firefox不行。

Firefox中出現如下的錯誤提示:

ing.cnblogs.com uses an invalid security certificate. 
The certificate is not trusted because the issuer certificate is unknown.
The server might not be sending the appropriate intermediate certificates.
An additional root certificate may need to be imported.
Error code: SEC_ERROR_UNKNOWN_ISSUER

很是奇怪,以為是證書本身的問題,於是聯系WoSign客服,客服說是因為證書鏈不完整。

接着想到要先驗證一下證書文件本身是否有問題,於是將這個證書的.key與.pem文件部署到一台我們自己的nginx服務器上,Firefox中訪問正常,說明證書文件本身沒問題。

那問題應該與我們只用了.pem文件中3個證書中的1個有關,但是用3個證書在阿里雲負載均衡上配置總是失敗,於是向阿里雲客服反饋了這個情況。阿里雲客服說3個證書都要添加,而且證書之間不能有空行。“證書之間不能有空行”立馬提醒了我們,再次查看.pem文件,發現第1個證書與第2個證書之間果然有個空行:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----

刪除空行后進行配置,問題立馬解決。

問題解決后的感想:要是阿里雲直接兼容這中帶空行的證書,就不用這么折騰了,而且這個證書就是在阿里雲上生成的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM