14.DNS:域名系统

优先级不高,有需要再研究。

转载于:https://www.cnblogs.com/i-hard-working/p/10703751.html

Error [ERR_TLS_CERT_ALTNAME_INVALID]: Hostname/IP does not match certificate's altnames: Host: npm.taobao.org. is not in the cert's altnames: DNS:*.tbcdn.cn, DNS:*.1688.com, DNS:*.3c.tmall.com, DNS:*.alibaba.com, DNS:*.alicdn.com, DNS:*.aliexpress.com, DNS:*.alikunlun.com, DNS:*.aliqin.tmall.com, DNS:*.alitrip.com, DNS:*.aliyun.com, DNS:*.cainiao.com, DNS:*.cainiao.com.cn, DNS:*.chi.taobao.com, DNS:*.chi.tmall.com, DNS:*.china.taobao.com, DNS:*.cloudvideocdn.taobao.com, DNS:*.cmos.greencompute.org, DNS:*.dingtalk.com, DNS:*.django.t.taobao.com, DNS:*.etao.com, DNS:*.feizhu.cn, DNS:*.feizhu.com, DNS:*.fliggy.com, DNS:*.fliggy.hk, DNS:*.food.tmall.com, DNS:*.jia.taobao.com, DNS:*.jia.tmall.com, DNS:*.ju.taobao.com, DNS:*.juhuasuan.com, DNS:*.lw.aliimg.com, DNS:*.m.1688.com, DNS:*.m.alibaba.com, DNS:*.m.alitrip.com, DNS:*.m.cainiao.com, DNS:*.m.etao.com, DNS:*.m.taobao.com, DNS:*.m.taopiaopiao.com, DNS:*.m.tmall.com, DNS:*.m.tmall.hk, DNS:*.mei.com, DNS:*.mobgslb.tbcache.com, DNS:*.taobao.com, DNS:*.taopiaopiao.com, DNS:*.tbcache.com, DNS:*.tmall.com, DNS:*.tmall.hk, DNS:*.trip.taobao.com, DNS:*.xiami.com, DNS:1688.com, DNS:alibaba.com, DNS:alicdn.com, DNS:aliexpress.com, DNS:alikunlun.com, DNS:alitrip.com, DNS:aliyun.com, DNS:cainiao.com, DNS:cainiao.com.cn, DNS:cloudvideocdn.taobao.com, DNS:cmos.greencompute.org, DNS:dingtalk.com, DNS:etao.com, DNS:feizhu.cn, DNS:feizhu.com, DNS:fliggy.com, DNS:fliggy.hk, DNS:juhuasuan.com, DNS:m.intl.taobao.com, DNS:mei.com, DNS:taobao.com, DNS:taopiaopiao.com, DNS:tmall.com, DNS:tmall.hk, DNS:xiami.com, DNS:tbcdn.cn
06-14
<think>这个错误是由于尝试连接npm.taobao.org时,SSL证书中的主题备用名称(SAN)不包含该域名导致的。证书的SAN列表包含了许多淘宝相关的域名,但没有npm.taobao.org。可能的原因:1.该域名已经更换,不再使用。2.证书配置错误。实际上,淘宝的npm镜像已经切换到了新的域名:https://npmmirror.com(原淘宝npm仓库registry.npmmirror.com)解决方案:1.将npm源切换到新的镜像地址。2.或者暂时禁用SSL验证(不推荐,因为不安全)。步骤:方法1:更新npm源为新的镜像```bashnpmconfigsetregistryhttps://registry.npmmirror.com```方法2:如果必须使用旧的域名且信任该源,可以临时跳过SSL验证(不推荐)```bashnpmconfigsetstrict-sslfalse```但是,强烈建议使用方法1,因为旧的域名可能已经不再维护,且存在安全风险。验证配置:```bashnpmconfiggetregistry```如果切换后仍然有问题,可以尝试清除npm缓存:```bashnpmcacheclean--force```解释:错误信息明确表示证书的altnames中没有包含`npm.taobao.org`,因此连接被拒绝。这是因为SSL/TLS要求证书中的主机名必须与访问的主机名匹配。淘宝npm镜像已经迁移,所以应该使用新的地址。注意:淘宝npm镜像的旧域名(npm.taobao.org)已经重定向到npmmirror.com,但SSL证书可能没有及时更新,因此导致此错误。推荐使用新的域名:https://registry.npmmirror.com另外,也可以使用其他国内镜像,如腾讯云镜像:```bashnpmconfigsetregistryhttps://mirrors.cloud.tencent.com/npm/```或者cnpm:使用cnpm代替npm,安装cnpm:```bashnpminstall-gcnpm--registry=https://registry.npmmirror.com```然后使用cnpm命令安装包。但是,最直接的方法还是将registry设置为新的地址。如果是在Docker或CI环境中,可能需要设置环境变量:```bashexportNPM_CONFIG_REGISTRY=https://registry.npmmirror.com```或者使用npm命令设置全局配置。代码示例(设置新的镜像源):```bash#设置新的镜像源npmconfigsetregistryhttps://registry.npmmirror.com#验证npmconfiggetregistry```输出应该为:`https://registry.npmmirror.com`如果遇到证书问题,也可以尝试更新系统的根证书,但通常不需要,因为新域名的证书应该是有效的。注意:如果公司内部有代理,可能需要额外配置代理。§§相关问题§§:1.如何永久修改npm的registry配置?2.如何为单个项目设置npmregistry而不影响全局配置?3.如何解决npm安装包时遇到的SSL证书问题?4.除了淘宝源,还有哪些常用的npm镜像源?</think>### 错误分析:SSL 证书域名不匹配 这个错误表示你尝试连接的域名 `npm.taobao.org` 与 SSL 证书中的授权域名列表(altnames)不匹配。证书只允许访问特定的域名(如 `*.tbcdn.cn`、`*.1688.com` 等),而 `npm.taobao.org` 不在这个列表中。 ### 解决方案 #### 1. **使用正确的镜像地址(推荐)** 淘宝 NPM 镜像已迁移至新域名: ```bash # 设置新的镜像地址 npm config set registry https://registry.npmmirror.com ``` #### 2. **临时禁用 SSL 验证(不推荐,仅用于测试)** ```bash # 临时禁用 SSL 验证 npm config set strict-ssl false # 安装完成后恢复安全设置 npm config set strict-ssl true ``` #### 3. **使用 HTTP 协议(不推荐,不安全)** ```bash # 使用 HTTP 代替 HTTPS npm config set registry http://registry.npmmirror.com ``` #### 4. **更新根证书(系统级修复)** ```bash # Ubuntu/Debian sudo apt-get install --reinstall ca-certificates # CentOS/RHEL sudo yum reinstall ca-certificates # macOS sudo update-ca-trust # Windows: 更新受信任的根证书颁发机构 ``` #### 5. **添加证书例外(仅开发环境)** 在 Node.js 代码中添加: ```javascript // 在应用启动前设置 process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; ``` ### 完整操作流程 ```bash # 1. 验证当前镜像设置 npm config get registry # 2. 更新为正确镜像 npm config set registry https://registry.npmmirror.com # 3. 清除缓存 npm cache clean --force # 4. 测试连接 npm ping ``` ### 关键说明 1. **域名变更**:淘宝 NPM 服务已从 `npm.taobao.org` 迁移到 `registry.npmmirror.com` 2. **证书机制**:现代 SSL 证书使用 Subject Alternative Names (SAN) 限制有效域名 3. **安全风险**:禁用 SSL 验证会使网络请求暴露于中间人攻击 4. **长期方案**:建议使用官方镜像或配置企业级私有仓库
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值