Windows Server 2019环境npm请求报错connect ETIMEDOUT 104.16.16.35:443求助
npm在Windows Server 2019代理环境下ETIMEDOUT超时解决方案
1. 基础网络连通性排查
- 优先验证代理端口可用性:你此前仅执行了
ping proxy验证网络连通,但ICMP连通不代表代理服务端口正常可用,执行telnet proxy.johndoe.corp 8080确认8080端口可正常访问,若端口不通直接联系网络运维排查代理服务或防火墙规则。 - 测试代理是否可正常访问npm源:执行
curl -x http://proxy.johndoe.corp:8080 https://registry.npmjs.org/,若该请求仍超时,说明问题出在代理/防火墙层面,和npm配置无关,需确认内网是否允许该服务器通过代理访问公网npm源,或者直接切换为内网私有npm源避免走公网。
2. 修正npm错误配置
你此前执行的npm config set proxy https-proxy http://proxy.johndoe.corp:8080为错误配置,会导致proxy参数异常,先清空所有旧配置后重新设置:
# 清空所有错误配置 npm config delete proxy npm config delete https-proxy npm config delete registry npm config delete strict-ssl # 重新写入正确配置 npm config set proxy http://proxy.johndoe.corp:8080 npm config set https-proxy http://proxy.johndoe.corp:8080 npm config set registry https://registry.npmjs.org/ npm config set strict-ssl false
注意:通过
set命令设置的HTTP_PROXY、HTTPS_PROXY变量仅对当前cmd窗口生效,新开窗口需重新设置,如需永久生效可在系统环境变量中添加对应配置。
3. 安全软件拦截排查
- 临时关闭Bitdefender杀毒软件的实时保护、网络流量扫描功能后重试,确认是否是杀毒软件拦截了npm的请求流量。
- 联系运维确认ClearSwift代理的防病毒引擎、Checkpoint防火墙、F5负载均衡是否存在规则拦截npm相关请求,可申请将该服务器加入访问公网npm源的白名单。
4. 特殊场景适配
如果以上操作全部无效,可尝试跳过代理直接使用内网镜像源,联系内部运维获取内网npm源地址后替换registry配置即可,完全避免公网代理相关的兼容性问题。
内容的提问来源于stack exchange,提问作者Mahatir Said
相关产品推荐
相关产品推荐

