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

AWS Windows EC2上Node.js应用绑定弹性IP报EADDRNOTAVAIL求助

解决AWS Windows EC2上Node.js应用无法通过弹性IP访问的问题

核心解决方案

不要将弹性IP作为listen的绑定地址,改为绑定0.0.0.0,让应用监听服务器所有可用网络接口:

const port = 80;
app.listen(port, '0.0.0.0', () => {
  console.log(`App listen on port ${port}!`)
});

原因说明

  • 弹性IP是AWS分配的公网IP,并非EC2实例本地网卡配置的实际IP(ipconfig返回的是内网私IP)。Node.js的listen方法要求绑定的地址必须是服务器本地网卡存在的IP,直接指定弹性IP会触发EADDRNOTAVAIL错误。
  • IIS或Apache默认监听所有网络接口(等效于绑定0.0.0.0),因此可以正常响应弹性IP的请求。

额外检查项

  • EC2安全组:确认实例安全组已配置入站规则,允许80端口的流量(来源可设为0.0.0.0/0或需要访问的IP范围)。
  • Windows防火墙:检查系统防火墙是否允许Node.js应用的80端口入站连接,可临时关闭防火墙验证是否是防火墙拦截。
  • 端口占用:用命令netstat -ano | findstr ":80"检查80端口是否被其他进程占用,若被占用可更换端口或停止占用进程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 21:39:36