我正在尝试使用 Ubuntu 10.04 上的 apache 在本地网络之外运行网页。我的网页当前在本地网络中加载,所以我知道它正在运行,但它在本地网络之外不起作用。可能是我的 ISP 或防火墙阻止了端口 80,但我不确定。以下是我在测试端口 80 时遇到的一些不同错误:
80 HTTP 隐身没有任何证据表明该 IP 地址存在端口(甚至任何计算机)!
错误:我无法在端口 (80) 上的 XX.XXX.XXX.XXX 上看到您的服务原因:连接超时
80 (http) 关闭或过滤
我的 ISP 是 Cox Communications。我的 Ubuntu 机器是有线的,我的笔记本电脑通过 Linksys WRT54G2 路由器无线连接到本地网络。就像我说的,当 Apache 运行时,我的笔记本电脑会打开网页,但网页在本地网络之外无法使用。
问题一定出在端口 80 上。我的问题是端口 80 出了什么问题,我该如何修复它(变通方法、防火墙、联系 ISP 等),以便我的网页能够正常运行?
答案1
如果您已配置端口转发但问题仍然存在,那么您可能面临 ISP 阻止传入端口 80 的情况。阻止传入端口 80 是许多高速有线电视运营商在提供住宅服务时采用的常见做法。
答案2
您需要配置您的路由器以将端口 80 转发到您的 Ubuntu 盒子。
答案3
首先验证 WRT54G2 上的端口转发是否正常工作。确保您可以telnet $IP_ADDRESS 80
从 LAN 之外的另一台计算机(可以使用代理)直接通过 telnet ( ) 连接到路由器端口 80 上的可路由 IP 地址。或者更好的是,使用 httping 之类的工具向您的网站发出 http 请求。
尝试使用 Apache 的备用端口(如 8080 或 8081)来确认您的 ISP 是否阻止了发往端口 80 的传入流量。正如 user48838 所建议的那样,对于 ISP 来说,这样做并不罕见,尤其是对于拥有住宅帐户的用户(我怀疑您可能有)。
您需要Listen
根据 Apache 的设置方式更改指令或特定的虚拟主机配置。请参阅手动的了解更多信息。您可以使用 确认 Apache 是否在不同的端口上运行netstat -at
。