Apache 在本地运行,但无法从其他机器访问

Apache 在本地运行,但无法从其他机器访问

我在 CentOS 5 上的虚拟机中为测试环境运行 Apache 2.2.3。Apache 正在虚拟机本身上运行并响应请求。如果我在虚拟机上运行“lynx localhost”,我确实会得到我的测试页面。

当我尝试从我的实际 PC 访问 Apache 时,什么也没得到。SSH 可以连接到虚拟机,但 Apache 却不行。我在虚拟机上设置了 iptables 以对任何内容开放,但来自我的 PC 的 HTTP 请求仍然没有返回任何内容(当我通过端口 80 远程登录到虚拟机时,我遇到了超时,我的浏览器只显示“无法打开 172.16.xy 上的页面”)。

我还应该检查什么?

答案1

检查 Apache 正在监听的位置:

$ sudo netstat -nlp | grep apache
tcp        0      0 127.0.0.1:80            0.0.0.0:*               LISTEN    4720/apache2    
                    ^^^^^^^^^

如果您看到127.0.0.1如上所示,则说明您的 Apache 仅监听环回接口,其他机器无法连接到该接口。Listen在 Apache 配置中查找一条指令,该指令类似于

Listen 127.0.0.1:80

如果您删除127.0.0.1(因此您只需要Listen 80)并重新启动 Apache,它应该会监听所有可用的地址。

答案2

我同意@Flup,但你可能还想尝试其他方法 -

您能否使用 Lynx 通过其 iP 地址从 VM 转到 URL,即lynx http://1.2.3.4应该更仔细地查看 VM 配置/网络。

相关内容