Linux
Wget、自簽名證書和 –no-check-certificate 不起作用
我最近在我們的一個 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 更好,將提供完整的故事,但下一個最好的事情是沒有完整數據包有效負載的標頭。