防火墙阻止 80 端口

防火墙阻止 80 端口

我当前的 Nginx 安装遇到了一个奇怪的问题。背景是:

  • 带有 proxmox 的专用服务器
  • IPTables 配置为:允许端口 80 上的传入连接,然后使用 nat 表转发到运行 nginx 的虚拟机。
  • 对于端口 53 和 DNS 服务器 (其工作位置) 有相同的行为 (另一个虚拟机)。

这很奇怪,我不知道为什么,我无法从互联网上看到该网站的索引。如果我尝试:

lynx http://127.0.0.1/index.html

从安装了 nginx 的主机,我可以看到该页面。如果我尝试使用专用服务器(托管虚拟机)的 lan ip 执行相同操作,结果相同。

检查了以下命令,一切对我来说似乎都很好......

root@web:~# netstat -tulpn | grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1499/nginx
root@web:~# ps aux | grep nginx
root      1499  0.0  0.1  91188  3084 ?        Ss   22:25   0:00 nginx: master process /usr/sbin/nginx
www-data  1500  0.0  0.1  91504  3676 ?        S    22:25   0:00 nginx: worker process
www-data  1501  0.0  0.1  91504  3676 ?        S    22:25   0:00 nginx: worker process
www-data  1502  0.0  0.1  91504  3676 ?        S    22:25   0:00 nginx: worker process
www-data  1503  0.0  0.1  91504  3676 ?        S    22:25   0:00 nginx: worker process
root      2165  0.0  0.1  12728  2208 pts/0    R+   22:42   0:00 grep nginx
root@web:~# iptables -L -nv
Chain INPUT (policy ACCEPT 1228 packets, 87001 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 821 packets, 75307 bytes)
 pkts bytes target     prot opt in     out     source               destination
root@web:~# iptables -t nat -L -nv
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
root@web:~# iptables -t mangle -nv -L
Chain PREROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
root@web:~

问题的根源可能是什么?提前致谢。

编辑:上述规则来自虚拟机本身。以下是允许主机系统使用 80 端口的输入:

    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 /* Allows HTTP traffic */

还有前向规则:

    0     0 DNAT       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 /* Forward HTTP */ to:10.250.3.5

相关内容