Apache服务器没有广播到互联网

我在我的机器上安装了Apache服务器。 我已经设置并指定了根文件夹等,当我去http://localhost/ ,它工作正常,告诉我,Apache安装正确。 但是,当我在浏览器中input我的IP时,它不起作用,并提出“连接超时”错误。 我尝试使用我的路由器(即端口转发)configuration一切,但无济于事。 当我将计算机直接连接到调制解调器时,绕过路由器,可以通过在浏览器中input我的IP来访问根文件夹。 但是,根据http://downforeveryoneorjustme.com/和一个试图通过互联网访问的朋友,无法通过互联网访问根文件夹。 我已经试过在httpd.conf文件中分别使用ServerName和Listen指定我的服务器并将Apache绑定到我的IP地址。 仍然无济于事。

有什么想法吗? 提前致谢。

伙计们,我很愚蠢。 这是我电脑的防火墙。 我原以为我已经允许80港口,所以我驳回了。 另外,我真的指出另一个来源的问题。 但是,唉,关掉防火墙之后,它工作了,然后我意识到我实际上没有允许80端口。

非常感谢答复。

我打算build议通过iptables检查你的防火墙规则,但事实上,当你直接连接到networking时,你可以打你的网站(即:绕过路由器),告诉我的问题是与路由器,而不是你的服务器。 当你直接连接到networking时,你的朋友是否可以通过IP访问网站? 如果可以的话,那么你在路由器上的端口转发规则是可能的罪魁祸首。 如果他们不是,那么通过运行检查iptables是否导致问题:

 # iptables -L -n | grep 80 

您需要以root身份执行此操作。

请提供更多信息,您的操作系统是什么?

首先你必须确认你的apacheconfiguration文件是httpd.conf

如果你把它绑定到本地主机(又名127.0.0.1),或者你把它绑定到你计算机里所有可用的IP地址上。

为此,请检查httpd.conf文件中的ListenVirtualHost指令。

如果他们是这样的:

Listen 127.0.0.1:80

要么

<VirtualHost 127.0.0.1:80>

他们绑定到您的本地IP地址,所以使用您的IP将无法正常工作。


如果情况并非如此,那么如果你的防火墙,你可能想要禁用你的防火墙几秒钟或几分钟,并试图在这段时间访问它,以确定如果你的防火墙阻止或不。


如果您可以使用IP从您的计算机访问,但是另一个连接的人却无法访问,则可能意味着您的ISP阻止了低端口1-1024的使用,以阻止其客户端在其连接中创build服务器。

以类似的方式,使用以下命令检查Apache实际绑定的IP地址:

netstat -an | grep:80 | grep LISTEN

如果结果是:80或者::: ,那么Apache正在监听与您的服务器相关的所有IP地址。 否则,Apache只能绑定一个IP地址。

如果你要绑定到一个地址,它应该是连接到你的局域网的以太网接口。 您应该将Apacheconfiguration为侦听基于NAT的路由器后面的服务器使用的不可路由的专用IP,而不是由ISP分配的公共IP。

在基于NAT的路由器上,将端口80configuration为转发到分配给您的Apache服务器的专用IP上的端口80。

作为另一个答案build议,仔细检查iptables是不是阻止传入的stream量。

希望这可以帮助。

当您能够“通过在浏览器中input我的IP来访问根文件夹”时,是从您的本地networking内部访问的? (假设是这样)

我怀疑你的ISP不允许外部访问80端口上的客户networking。你可以通过设置其端口转发来确认这个理论(如果你的路由器允许的话),将Your_External_IP:8888上的stream量指向Your_Computer's_Internal_IP:80

假设您已经设置了Apache来监听端口80(应该是默认的),并且您的计算机的防火墙configuration为通过端口80传输stream量,这应该告诉您这是您的路由器转发设置还是您的LSP正在积极认真对待他们的“不服务器“服务条款条款。

所以显然你可以从这些地方与其他协议连接? 这不是一个路由问题?

数据包分析可能提供更多信息。

另外检查以下;

  • 使用nslookup来validationDNS查询/响应
  • 检查病毒主机
  • 在相关的服务上打开详细的日志logging并检查日志。