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

NodeJS部署至AWS容器(App Runner/ECS)遇EADDRNOTAVAIL错误求助

解决NodeJS在AWS App Runner/ECS中出现EADDRNOTAVAIL错误的方案

核心原因

本地运行时,你的NodeJS服务大概率绑定了127.0.0.1或某块特定网卡的IP,但AWS容器环境里,容器的网络接口是动态分配的,绑定固定本地地址会导致服务找不到可用的网络接口,直接触发EADDRNOTAVAIL错误。

修复步骤

  • 修改NodeJS服务的监听地址,把127.0.0.1或特定IP换成0.0.0.0,示例代码:
    // 错误写法
    app.listen(3000, '127.0.0.1', () => {
      console.log('Server running on 127.0.0.1:3000');
    });
    
    // 正确写法
    app.listen(3000, '0.0.0.0', () => {
      console.log('Server running on 0.0.0.0:3000');
    });
    
  • 检查Dockerfile,确保里面没有硬编码本地地址,同时加上EXPOSE <你的服务端口>指令,比如EXPOSE 3000
  • 确认AWS端配置:App Runner的服务配置或ECS的任务定义里,容器端口映射正确,对应的安全组和网络ACL也允许该端口的流量通过

本地预验证

修改完代码后,可以用Docker打包镜像,本地运行容器,然后从宿主机访问服务(比如用浏览器或curl访问localhost:3000),确认绑定0.0.0.0后能正常访问,再部署到AWS环境。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 19:37:09