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

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

而後在阿里雲負載均衡「證書管理」控制檯中建立證書:服務器

將.pem文件中的內容複製/粘貼到上面的「證書內容」文本框中,將.key文件中的內容複製/粘貼到上面的「私鑰」文本框中,建立證書老是失敗。app

查看.pem文件中的內容發現有3個證書(3段以「-----BEGIN CERTIFICATE-----」開始以「-----END CERTIFICATE-----」結束的內容),因而試了試改成只複製/粘貼第1個證書,結果居然建立成功了。負載均衡

而後配置到對應的負載均衡上,用https訪問站點,Chrome下正常,Safari下正常,IE下正常,惟獨Firefox不行。阿里雲

Firefox中出現以下的錯誤提示:code

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客服,客服說是由於證書鏈不完整。server

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

那問題應該與咱們只用了.pem文件中3個證書中的1個有關,可是用3個證書在阿里雲負載均衡上配置老是失敗,因而向阿里雲客服反饋了這個狀況。阿里雲客服說3個證書都要添加,並且證書之間不能有空行。「證書之間不能有空行」立馬提醒了咱們,再次查看.pem文件,發現第1個證書與第2個證書之間果真有個空行:部署

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

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

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

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

相關文章
相關標籤/搜索