npm 依赖下载报错 主机名/IP与证书的altname不匹配

npm 依赖下载报错:主机名/IP与证书的altname不匹配
在这里插入图片描述
记录一下解决的方案:

尝试使用

//取消ssl验证
npm set strict-ssl false 

npm config set registry http://registry.npmjs.org/

//如果还没成功,则将npm源更换为国内镜像:
npm config set registry http://registry.cnpmjs.org/
npm config set registry http://registry.npm.taobao.org/

如图:在这里插入图片描述

为什么会这样呢?
因为npm install走的是https协议,需要通过数字证书来保证的。

从0.9.2(包括0.10.x)开始,node.js现在默认验证证书。 这就是为什么当升级到node.js 0.8之后,它会变得更加严格的原因。参考

当使用SSL连接到服务器时,服务器要做的第一件事就是出示一个证书,上面写着 “我是api.dropbox.com”。证书具有“主题”,主题具有“ CN”(“通用名称”的缩写。)证书也可以具有一个或多个“subjectAltNames”。 当node.js连接到服务器时,node.js会获取此证书,然后验证它认为连接的域名(api.dropbox.com)是否与主题的CN或替代名称之一匹配。 请注意,在节点0.10.x中,如果使用IP连接,则IP地址必须在altnames中-node.js不会尝试根据CN验证IP。

您可以使用取消ssl验证的选项来避免这种情况,但是这会严重影响安全性。最好先诊断证书未授权的原因,然后查看该证书是否可以解决。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值