今天在阿里云上購買了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-----
刪除空行后進行配置,問題立馬解決。
問題解決后的感想:要是阿里云直接兼容這中帶空行的證書,就不用這么折騰了,而且這個證書就是在阿里云上生成的。
文章列表