我的节点应用程序正在监听端口 8080。当我添加
app.listen(port,'50.30.217.289');
我可以从浏览器访问应用程序。但是,当我用我的 EC2 实例的弹性 IP 地址替换 IP 地址时,我收到一个错误:
EADDRNOTAVAIL
我该如何解决 ?
我的节点应用程序正在监听端口 8080。当我添加
app.listen(port,'50.30.217.289');
我可以从浏览器访问应用程序。但是,当我用我的 EC2 实例的弹性 IP 地址替换 IP 地址时,我收到一个错误:
EADDRNOTAVAIL
我该如何解决 ?
您要做的不是它在 EC2 中的工作方式。
公共 IP 地址通过网络地址转换 (NAT) 映射到主要私有 IP 地址。
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-instance-addressing.html
如果您检查机器上的网络接口,您不会在它们上找到任何公共 IP 地址。公共 IP 地址在 Internet 网关处被转换为私有地址。对于具有公共 IP 地址的实例,这是自动完成的,无需配置。
要将服务绑定到特定的公共地址,请将其绑定到实例本身上匹配的私有IP 地址。
EADDRNOTAVAIL
意味着您的 EC2 实例没有分配了该 IP 地址的网络接口,因此您无法开始监听它。