我有一个可以在localhost上完美运行的节点应用程序,我将其托管在端口80上的AWS ec2实例上,并且在不活动7天后(当我在任何浏览器上搜索我的ec2实例的公共IP地址时)也运行良好。 <public_ipv4>拒绝连接。
这是我为排除故障所做的一些事情,这些都是我从AWS论坛上阅读的,但没有遇到任何运气:
删除了node_modules /目录并使用npm install命令重新安装
在该实例的安全组的入站规则内的端口80上正确允许了HTTP流量(我仅运行一个实例)
ran netstat -nplt | grep 80,它给了我输出:
tcp6 0 0 ::: 80 ::: *听
我在package.json文件中添加了一个脚本,通过该脚本将运行app.js文件
在我的app.js文件中,我正在监听端口80:
app.listen(80, async function(){
console.log("server has started");
})
我还想念什么?
看来您仅在安全组的入站流量上允许使用IP v6地址。
未添加允许对IPv4地址的许可。
添加以下规则
HTTP tcp 0.0.0.0/0 80
如果您同时添加了两个规则(IPV4和IPV6),则
sudo netstat -tnlp | grep :80
应该在两行下面显示。
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
但在您的情况下,它仅显示tcp6
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句