Ubuntu 16服务器无法访问自己的80端口

Ubuntu 16服务器无法访问自己的80端口

当我使用 NodeJS v10 监听端口 80 时,所有其他机器都可以访问该端口,但机器本身却无法访问。这非常奇怪,环回和 eth0 IP 地址也是如此。但是,它可以像网络上的其他机器一样访问自己的端口 90。

我使用了一个简单的 hello world 应用程序来验证 NodeJS 脚本没有错误。

这也发生在 NodeJS 12.13.0 中,所以我根本不认为 N​​ode 是问题所在。

iptables -L说政策接受,一切都是空的。

netstat -tulpn除了我正在测试的端口之外,没有列出任何端口 80。

答案1

我在 中找到了这一行/etc/rc.local

iptables -t nat -A OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8080

发现问题!

这个答案说明了为什么该规则没有出现在iptables -Lhttps://serverfault.com/a/685948/32875

有 5 个表 (filter、nat、mangle、raw、security)。您可以调用iptables -L -t table每个表。

答案2

可能是因为如果您想使用端口 80,您需要 sudo 权限才能打开它。

相关内容