Linux

Wget、自簽名證書和 –no-check-certificate 不起作用

  • June 4, 2015

我最近在我們的一個 nginx 網路伺服器上安裝了一個自簽名 SSL 證書。如果我嘗試使用 wget 獲取文件,則會--no-check-certificate收到以下錯誤。您可以使用瀏覽器訪問該站點,瀏覽器會辨識出它是自簽名的,並且證書會顯示所有正確的資訊。似乎基於消息我應該找到一種在本地信任證書的方法,但這不會違背 –no-check-certificate 的目的嗎?

$ wget https://www.example.com/index.html --no-check-certificate
--2015-02-20 14:13:58--  https://www.example.com/index.html
Resolving example.com... 192.0.2.1
Connecting to example.com|192.0.2.1|:443... connected.
WARNING: cannot verify example.com’s certificate, issued by “/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO RSA Domain Validation Secure Server CA”:
 Unable to locally verify the issuer’s authority.
WARNING: no certificate subject alternative name matches
   requested host name “example.com”.
HTTP request sent, awaiting response... Read error (Connection reset by peer) in headers.
Retrying.

任何想法將不勝感激。

查看wget的錯誤輸出和命令行,這裡的問題不是客戶端證書驗證。伺服器機器似乎拒絕連接。這可能是由於wget沒有向伺服器提供所需的客戶端證書(檢查您的其他瀏覽器是否有它),這個特定的使用者代理被拒絕等。

我寧願檢查伺服器的日誌。

您可以嘗試添加一些調試: -S 和 -d 用於伺服器和客戶端標頭。

tcpdump 更好,將提供完整的故事,但下一個最好的事情是沒有完整數據包有效負載的標頭。

http://www.gnu.org/software/wget/manual/wget.html

引用自:https://serverfault.com/questions/670279