Node.js 尝试在Windows上安装NPM软件包时,我遇到证书错误。我使用的是节点v10.9.0

Node.js 尝试在Windows上安装NPM软件包时,我遇到证书错误。我使用的是节点v10.9.0,node.js,npm,Node.js,Npm,npm错误!代码错误\u TLS\u证书\u ALTNAME\u无效 npm错误!errno ERR\u TLS\u CERT\u ALTNAME\u无效 npm错误!请求失败,原因:主机名/IP与证书的altnames不匹配:Host:registry.npmjs.org。不在证书的别名中:DNS:a.sni.fastly.net,DNS:a.sni.global-ssl.fastly.net 这似乎是NPM服务器上的一个真正问题。当导航到https://registry.npmjs.org/

npm错误!代码错误\u TLS\u证书\u ALTNAME\u无效
npm错误!errno ERR\u TLS\u CERT\u ALTNAME\u无效
npm错误!请求失败,原因:主机名/IP与证书的altnames不匹配:Host:registry.npmjs.org。不在证书的别名中:DNS:a.sni.fastly.net,DNS:a.sni.global-ssl.fastly.net


这似乎是NPM服务器上的一个真正问题。当导航到
https://registry.npmjs.org/http-server
在浏览器中。服务器确实没有有效的证书。没有特定于Windows的内容

NPM报告缓存不正确的DNS信息时出现问题,如下所示:

在缓存清除之前,他们建议执行以下操作:

  • dig registry.npmjs.com@1.1.1
  • 将找到的IP添加到/etc/hosts文件中

  • 更新:有点不相关,对于那些使用
    纱线的人来说:
    纱线的NPM注册表镜像似乎也受到这个问题的影响,因此,目前我们所能做的似乎是等待问题自行解决,或者纱线团队在服务器上应用解决方案。

    官方建议的将通过dig命令找到的IP添加到主机文件的解决方案不知何故对我不起作用

    我发现npm有一个配置选项

    使用
    strict ssl=false在我的项目文件夹中创建.npmrc文件解决了这个问题

    我发现这个解决方案更安全、更隔离,因为编辑主机文件可能不是每个人都能做到的,而且当编辑主机文件时,它会导致从您的计算机发出的每个请求都被路由到特定的IP地址


    我计划在这个临时问题解决后删除该文件。

    这真的很有趣,我确认
    注册表.npmjs.org
    证书无效,它是发给
    a.sni.fastly.net
    的,所以域名不匹配(Chrome显示
    ERR\u cert\u COMMON\u name\u invalid
    )。我不认为这是有意的,而且在npm注册端看起来是一个严重的问题。希望他们尽快解决。检查一下谢谢大家!!这个问题现在似乎已经解决了。