我在路由器的 PORTS TRIGGER 菜单中修复了这个问题。无论如何,谢谢你

我在路由器的 PORTS TRIGGER 菜单中修复了这个问题。无论如何,谢谢你

我在路由器的 PORTS TRIGGER 菜单中修复了这个问题。无论如何,谢谢你

我有一个与(相关的奇怪问题我认为)我的电缆路由器和我在 Apache2 中配置的虚拟主机。

问题是,如果我将 Apache 的 http 端口设置为 80 并为其添加 NAT 规则,则无法从 LAN 外部访问我配置的任何虚拟主机。否则,如果我将 Apache 端口设置为 81(或任何其他端口),并在路由器上使用其相应的 NAT 规则,它就可以正常工作。

我的路由器是 ARRIS TG952S,我使用的是 Apache/2.2.22 (Debian)

端口配置文件

NameVirtualHost *:80
Listen 80

vhost1.mydomain.net.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName vhost1.mydomain.net
    ServerAlias vhost1.mydomain.net www.vhost1.mydomain.net

vhost2.mydomain.net.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName vhost2.mydomain.net
    ServerAlias vhost2.mydomain.net www.vhost2.mydomain.net

DNS 记录(使用免费DNS) 是:

mydomain.net        --> pointing to another server
vhost1.mydomain.net --> pointing to my server
vhost2.mydomain.net --> pointing to my server

iptables -L -n

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
fail2ban-apache-noscript  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443
fail2ban-apache  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 80,443
fail2ban-ssh  tcp  --  0.0.0.0/0            0.0.0.0/0            multiport dports 22

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain fail2ban-apache (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           

Chain fail2ban-apache-noscript (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0           

Chain fail2ban-ssh (1 references)
target     prot opt source               destination         
RETURN     all  --  0.0.0.0/0            0.0.0.0/0 

感谢您

答案1

您的 ISP 可能阻止了端口。您使用的是消费级线路吗?哪个 ISP?

答案2

为了排除防火墙问题,请检查您是否已配置 iptables 并阻止端口 80

$ iptables -L -n

或许,甚至值得查看 /etc/hosts.deny 除此之外,您还应就此事联系您的 ISP,因为他们可能会阻止该端口以阻止任何商业用途的互联网连接。

答案3

使用 tcpdump 查看数据包是否到达您的服务器。禁用防火墙,然后按如下方式运行 tcpdump:

tcpdump -i eth0 目标端口 80

从外部计算机打开浏览器并浏览您的服务器。如果您的服务器收到数据包,则说明其他问题。检查 apache 是否正在运行,然后检查所有 apache 配置文件是否正常。

相关内容