Ubuntu环境下Node.js Axios请求报错ERR_SOCKET_CONNECTION_TIMEOUT
解决Axios部署到Ubuntu后出现ERR_SOCKET_CONNECTION_TIMEOUT的问题
排查Ubuntu网络连通性
- 先在Ubuntu服务器上用curl命令测试能否访问目标API:
curl -v https://api.cloudflare.com/client/v4/zones/a065829589b2cd26353e0cdcac0998ce/settings/security_level - 如果curl同样超时,说明是服务器网络层面的问题:
- 检查防火墙:Ubuntu默认用ufw,可临时关闭测试:
sudo ufw disable,测试后记得重新开启 - 检查DNS配置:修改
/etc/resolv.conf,添加nameserver 8.8.8.8或nameserver 1.1.1.1,再重新测试网络
- 检查防火墙:Ubuntu默认用ufw,可临时关闭测试:
- 先在Ubuntu服务器上用curl命令测试能否访问目标API:
调整Axios超时配置
你的代码未设置超时时间,默认超时阈值可能不足以应对服务器网络环境,给请求添加超时参数:async function dUAM() { const data ={ value: "essentially_off", } axios.patch('https://api.cloudflare.com/client/v4/zones/a065829589b2cd26353e0cdcac0998ce/settings/security_level', data, { ...CFconfig, timeout: 15000 // 设置15秒超时 }) .then() .catch(err => console.log(err)) }检查CFconfig中的代理设置
如果本地环境使用了代理,而Ubuntu服务器未配置对应代理,或者代理参数有误,会导致请求无法发出。确认CFconfig中的proxy配置是否适配Ubuntu环境,不需要代理则直接移除相关配置。验证Cloudflare API访问限制
登录Cloudflare后台,检查防火墙规则是否将Ubuntu服务器的IP地址纳入拦截列表,同时确认API密钥的权限和访问频率是否正常。
内容的提问来源于stack exchange,提问作者JSharp
相关产品推荐
相关产品推荐

