博客專欄

EEPW首頁 > 博客 > 出現(xiàn) curl: (51) SSL: no alternative certificate subject name matches target host name 錯(cuò)誤的原因及解決方法

出現(xiàn) curl: (51) SSL: no alternative certificate subject name matches target host name 錯(cuò)誤的原因及解決方法

發(fā)布人:電子禪石 時(shí)間:2020-12-25 來源:工程師 發(fā)布文章
文章目錄

    • 問題描述

    • 解決方法

    • 更進(jìn)一步


問題描述

curl-ssh-51
如上圖所示,通過curl發(fā)起 POST 請(qǐng)求,類似:

curl http://162.10.123.215:2020/test/callback -X POST -H 'Content-Type:application/json' -d '{
	"appId":10000}'12345

出現(xiàn) SSL 51 異常:

curl: (51) SSL: no alternative certificate subject name matches target host name

通過異常描述,我們知道,該錯(cuò)誤為:沒有與目標(biāo)主機(jī)名匹配的證書。

解決方法

既然該錯(cuò)誤為主機(jī)名稱與證書不匹配,那么解決方案肯定就是要求主機(jī)修復(fù)證書。

但由于某些原因,我們可能并不能直接干預(yù)主機(jī)的行為,因此我們可以通過下面的臨時(shí)解決方案,暫時(shí)跳過該問題。

  • 方法 1:添加-k請(qǐng)求參數(shù)

solve-curl-ssh-51-k

  • 方法 2:添加--insecure請(qǐng)求參數(shù)

solve-curl-ssh-51-insecure

如上述結(jié)果圖所示,無論是添加-k還是添加--insecure請(qǐng)求參數(shù),均可以解決該異常。

但正如新增參數(shù)的含義一樣,添加參數(shù)的作用就是放棄了 HTTPS 的安全檢查,因此該方法是治標(biāo)不治本,慎用。

更進(jìn)一步

最后,對(duì)于這個(gè)問題,說一下我們遇到的場景:

  • 最初的域名是testC.testB.testA,屬于三級(jí)域名;

  • 后變更域名為testD.testC.testB.testA,屬于四級(jí)域名。

正常來說,無論是三級(jí)域名還是四級(jí)域名,通過 HTTP 協(xié)議訪問都是沒有問題的,但是想要使用 HTTPS 協(xié)議,則需要購買安全證書,而這個(gè)證書是跟域名關(guān)聯(lián)的,例如:

  • 我們購買了*.testB.testA三級(jí)域名的 HTTPS 證書;

  • 那我們通過 HTTPS 協(xié)議訪問*.*.testB.testA四級(jí)域名是不可以的。

因此,想要真正解決這個(gè)問題,就需要我們升級(jí)域名的證書了。


*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: curl

技術(shù)專區(qū)

關(guān)閉