我有一個Ubuntu虛擬機無法連接到SSL的網站,即https。如果URL以http開頭,它可以成功地從互聯網上下載文件。npm安裝無ssl
npm install將通過https下載依賴關係。反正它有通過http下載嗎?
我有一個Ubuntu虛擬機無法連接到SSL的網站,即https。如果URL以http開頭,它可以成功地從互聯網上下載文件。npm安裝無ssl
npm install將通過https下載依賴關係。反正它有通過http下載嗎?
嘗試,而默認HTTPS一個使用命令
npm config set registry http://registry.npmjs.org/
注意,如果您想使用'-g'標記 – lordvlad 2014-01-14 20:32:02
安裝全局程序包,則需要使用額外的'sudo'來解決此問題,這可能會對代理/ Web防火牆後面的任何其他人有所幫助並且在安裝時在'SSL23_GET_SERVER_HELLO'上收到錯誤。 – meklarian 2015-07-22 14:40:57
我這樣做,仍然得到相同的錯誤。日誌顯示,使用http的npm查詢,但我仍然得到未知的協議ssl – FrenchFigaro 2018-01-25 14:00:50
正如conlinf說,下面應該工作更改註冊表的HTTP版本:
npm config set registry http://registry.npmjs.org/
現在,加我的話,你也應該考慮到沒有ssl的下載允許一箇中間人攻擊。只有向會閱讀帖子的人添加警告。
如果你是一個獨立開發者,那麼直接在http
下載應該不會有太大麻煩,但是如果我想用node.js攻擊公司,我會考慮通過npm提供惡意代碼......並且執行這樣的攻擊ssl會容易得多。
你能解釋你如何做到這一點? – Mukus 2015-09-10 00:39:39
@Mukus DNS通過設置本地流氓DNS而多次遭到入侵,從而劫持目標服務器的「registry.npmjs.org」。由於沒有TLS,所以通過使用root權限進行證書籤名,npm服務器沒有握手驗證。胭脂DNS後面的胭脂npm服務器可以提供任何想要的代碼,這是在npm安裝期間運行的。由於安全原因,請致電 – thesmart 2016-04-27 20:54:01
+1。我在工作時遇到了npm over'https'的問題,簽入我們的VPN解決了我的問題。 – Roy 2016-08-01 13:54:10
經過大量的試驗和錯誤後,我發現除了上面所說的所有內容之外,我還需要將https-proxy
設置爲http proxy
的值。
所以最終.npmrc文件看起來像
proxy=http://username:[email protected]:port/
https-proxy=http://username:[email protected]:port/
strict-ssl=false
registry=http://registry.npmjs.org/
注意,代理和HTTPS代理是相同的!
見本線程的評論更多信息:
https://github.com/npm/npm/issues/8034
此外,我更新的好措施的npmrc後跑了npm cache clean --force
,但我不知道是否需要它。
希望有所幫助。
將http_proxy值設置爲https_proxy對我有用。謝謝。 – mmk 2018-01-31 09:47:31
使用HTTPS下載時會出現什麼錯誤? – Bruno 2012-01-16 00:48:57
它掛了一段時間,然後我得到這個 - > https://gist.github.com/1619128 – 2012-01-16 04:52:49
而不是發佈這個錯誤消息在gist.github上,你應該編輯你的問題,並把它放在那裏。雖然它沒有提及HTTPS。附加日誌中的任何內容? – Bruno 2012-01-16 10:07:46