我有一个Ubuntu虚拟机,连接到ssl网站有问题,即。https。如果URL以http开头,则可以成功地从Internet下载工件。npm install将通过https下载依赖项。有办法通过http下载吗?
jdg4fx2g1#
尝试使用以下命令将注册表更改为http版本,而不是默认的https版本
npm config set registry http://registry.npmjs.org/
vmpqdwk32#
正如conlinf所说,以下应该是可行的:npm config set registry http://registry.npmjs.org/现在,补充我的话,你也应该考虑到下载没有ssl允许中间人攻击。这只是给那些想读这篇文章的人一个警告。如果你是一个单独的开发者,直接在http中下载应该不会有太大的麻烦,但是如果我想使用node.js攻击一家公司,我会考虑通过npm发送恶意代码。而在没有ssl的情况下进行这样的攻击会容易得多。
http
gmxoilav3#
经过多次尝试和错误,我发现除了上面所说的所有内容外,我还需要将https-proxy设置为http proxy的值。因此,end .npmrc文件看起来像
https-proxy
proxy
proxy=http://username:[email protected]:port/ https-proxy=http://username:[email protected]:port/ strict-ssl=false registry=http://registry.npmjs.org/
请注意,代理和https-proxy是相同的!查看此线程的评论以获取更多信息:https://github.com/npm/npm/issues/8034另外,我在更新npmrc后运行了一个npm cache clean --force,但我不确定是否需要它。希望能帮上忙。
npm cache clean --force
mbjcgjjk4#
在公司防火墙后面,更改ssl-strict对我很有效npm config set strict-ssl=false
npm config set strict-ssl=false
4条答案
按热度按时间jdg4fx2g1#
尝试使用以下命令将注册表更改为http版本,而不是默认的https版本
vmpqdwk32#
正如conlinf所说,以下应该是可行的:
npm config set registry http://registry.npmjs.org/
现在,补充我的话,你也应该考虑到下载没有ssl允许中间人攻击。这只是给那些想读这篇文章的人一个警告。
如果你是一个单独的开发者,直接在
http
中下载应该不会有太大的麻烦,但是如果我想使用node.js攻击一家公司,我会考虑通过npm发送恶意代码。而在没有ssl的情况下进行这样的攻击会容易得多。gmxoilav3#
经过多次尝试和错误,我发现除了上面所说的所有内容外,我还需要将
https-proxy
设置为httpproxy
的值。因此,end .npmrc文件看起来像
请注意,代理和https-proxy是相同的!
查看此线程的评论以获取更多信息:
https://github.com/npm/npm/issues/8034
另外,我在更新npmrc后运行了一个
npm cache clean --force
,但我不确定是否需要它。希望能帮上忙。
mbjcgjjk4#
在公司防火墙后面,更改ssl-strict对我很有效
npm config set strict-ssl=false