2017-09-14 38 views
0

我有一個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

    ---- * SSL連接的輸出

  • 服務器證書狀態驗證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,服務器不同意的協議

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)選項。

+0

什麼是你的機器上'env'的輸出?請更新有問題的輸出。還輸出'curl -v https:// docker.com' –

+0

@TarunLalwani感謝您的回覆。我已經用curl -v輸出更新了問題https://docker.com – boboverflow

+0

@TarunLalwani,你有什麼env變量尋找。 – boboverflow

回答