我有一個Dockerfile裏,我跑NPM安裝'npm ERR!自簽名證書」時,NPM運行安裝爲泊塢窗構建的一部分
... RUN NPM安裝 ....
這樣的錯誤了與以下:
npm ERR! Linux 4.4.0-92-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
npm ERR! node v7.10.1
npm ERR! npm v4.2.0
npm ERR! code DEPTH_ZERO_SELF_SIGNED_CERT
npm ERR! self signed certificate
運行NPM直接在同一臺機器上安裝的時候我不打這個問題。 (即當我運行它不是碼頭構建的一部分)。所以我不認爲這個問題與任何http代理有關。
@Tarun,
下面是使用TLS1.2/ECDHE_RSA_AES_128_GCM_SHA256
服務器證書驗證OK
捲曲-v
https://docker.com
服務器證書狀態驗證SKIPPED
共同的名字:* .docker.com(匹配)
服務器證書過期日期確定
服務器證書激活日期確定
證書公鑰RSA
證書版本:#3
subject:CN = *。docker.com
開始日期:星期五,2017年8月11日00:00:00 GMT
到期日:星期二,2018年9月11日12點00分零零秒GMT
發行人:C = US,O =亞馬遜,OU =服務器CA 1B,CN =亞馬遜
壓縮:NULL
ALPN,服務器不同意的協議
---- * SSL連接的輸出
GET/HTTP/1.1
主持人:docker.com
的User-Agent:捲曲/ 7.47.0
這裏是從內部curl命令在箱子的碼頭工人容器。
根@ 2145cd2e9997:/應用/ C3PO#捲曲-v https://docker.com
重建網址:https://docker.com/
主機名未在DNS緩存
嘗試52.55.168.191發現...
連接到docker.com(52.55.168.191)端口443(#0)
成功設置證書驗證地點:
憑證檔案錯誤:無
CApath:在/ etc/SSL /證書
的SSLv3,TLS握手,客戶端問候(1):
SSLv3,TLS握手,服務器問候(2):
SSLv3,TLS hand搖勻,CERT(11):
的SSLv3,TLS警報,服務器Hello(2):
SSL證書問題:自簽名證書
關閉連接0
的SSLv3, TLS警報,客戶打招呼(1):
curl:(60)SSL證書問題:自簽名證書
更多細節在這裏:http://curl.haxx.se/docs/sslcerts.html
捲曲默認執行SSL證書驗證,採用了 「捆綁」 的證書頒發機構的 (CA)公鑰(CA證書)。如果缺省 軟件包文件不夠用,則可以使用--cacert選項指定備用文件 。
如果HTTPS服務器使用由 代表的捆綁,證書驗證可能失敗,因爲一個 問題與證書CA簽署的證書(它可能會過期,或名稱可能 不匹配的域名在URL中)。
如果您想關閉卷發對證書的驗證,請使用 -k(或--insecure)選項。
什麼是你的機器上'env'的輸出?請更新有問題的輸出。還輸出'curl -v https:// docker.com' –
@TarunLalwani感謝您的回覆。我已經用curl -v輸出更新了問題https://docker.com – boboverflow
@TarunLalwani,你有什麼env變量尋找。 – boboverflow