You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node服务器请求Strapi API时遭遇ECONNREFUSED连接拒绝错误

解决Node服务器请求Strapi API出现ECONNREFUSED ::1:1337的问题

核心原因

错误里的address: '::1'是IPv6本地回环地址,说明你的Node请求解析localhost时优先使用了IPv6,但Strapi默认可能仅监听IPv4的127.0.0.1,导致连接被拒绝。而Postman通常默认优先解析IPv4,所以能正常访问。

解决方案

1. 直接用IPv4地址替换localhost

把请求URL中的http://localhost:1337改成http://127.0.0.1:1337,强制指定IPv4连接:

const request = require('request');
request({
  url: 'http://127.0.0.1:1337/api/homepage?populate=*',
  headers: {
    'Authorization': 'Bearer 123455347'
  },
  rejectUnauthorized: false
}, function(err, res) {
  if(err) {
    console.error(err);
  } else {
    console.log(res.body);
  }
});

2. 修改Strapi配置,同时监听IPv4和IPv6

编辑Strapi项目根目录下的config/server.js(Strapi v4版本),将host设置为'0.0.0.0'或'::',让Strapi同时监听所有IPv4和IPv6地址:

module.exports = ({ env }) => ({
  host: env('HOST', '0.0.0.0'),
  port: env.int('PORT', 1337),
  app: {
    keys: env.array('APP_KEYS'),
  },
});

修改后重启Strapi服务,即可兼容两种地址解析。

3. 强制Node环境优先解析IPv4

启动Node服务器时,添加环境变量指定DNS解析顺序优先IPv4:

NODE_OPTIONS=--dns-result-order=ipv4first node your-server-file.js

这样localhost会默认解析到127.0.0.1,和Postman的解析逻辑保持一致。

验证步骤

可以在终端执行ping localhost,查看输出地址是127.0.0.1还是::1,确认解析优先级问题。

内容的提问来源于stack exchange,提问作者Dennis1995

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 20:25:22