【发布时间】:2015-05-25 21:07:29
【问题描述】:
我正在尝试建立我的第一个可公开查看的网站,但遇到了麻烦。
这是背景信息
我已经使用 XAMPP 二进制文件在我的 Windows 7 机器上安装了 Apache Server,我可以通过在浏览器中访问 localhost 来查看 XAMPP 示例网页。
在网络上进行了一些研究后,我发现,为了使网站可以在本地网络之外访问,我需要将端口 80 上的路由器流量转发到本地计算机。
查看我的路由器设置我看到我的机器在 192.168.1.3 上,所以我将端口 80 流量转发到 192.168.1.3:80。为了验证我的网站实际上(内部)是由 192.168.1.3:80 寻址的,我在浏览器中输入了“192.168.1.3”,然后按预期将我定向到 XAMPP 示例网站。
这就是问题所在
当我尝试从手机连接到“192.168.1.3”(连接到与我的服务器相同的网络)时,我无法访问我的网站。
当我尝试连接到我的外部 IP 地址时(如 whatsmyip.org 和我的路由器设置页面所示),由于超时,我收到“此网站不可用”。
这是我尝试过的方法
在网络上进行了大量研究后,我尝试了一些方法。我读到一些防火墙或路由器可能会阻止端口 80 上的流量,所以我从 portforward.com 下载了一个实用程序来检查给定端口是否打开。表示80端口已关闭。
我输入了 Windows 防火墙设置并创建了一个新的入站规则以允许端口 80 上的流量,然后再次运行端口检查实用程序。这次它说80端口是开放的!然而,这似乎并没有什么不同。我描述的两个“问题”仍然存在。
编辑 1
在 Pekka 的建议下,我检查了端口 80 是否通过我的路由器对外开放。我使用 YouGetSignal.com 发现它实际上已关闭。
我一直在研究在路由器 (Actiontec Mi424WR) 上打开该端口的方法,但我阅读的每篇文章都只是解释了如何添加我已经完成的端口转发条目。
编辑 2
要配置端口转发,我在路由器的端口转发表中设置了以下参数:
Destination Device: 192.168.1.3:80 (internal ip address of my server device)
Protocol: TCP
Forwarded Ports: 80
WAN Connection Type: All Broadband Devices
Status: Active
我不确定为什么 YouGetSignal/CanYouSeeMe 将端口 80 显示为关闭,而此端口转发条目似乎处于活动状态。
编辑 3
感谢 Lea 关于关闭 windows 防火墙进行调试的评论,我能够确定问题是与防火墙有关。有一个条目阻止了公共连接上的 Apache 服务器可执行文件 (httpd.exe)。将条目更改为允许后,一切正常!
【问题讨论】:
-
路由器上的80端口也对公众开放吗?
-
一个快速的谷歌引导我到“打开端口检查工具”,这表明它已关闭!
-
根据你的问题的细节,你做了你应该做的一切。我猜,你(不知何故)转发端口失败,这就是端口 80 没有响应的原因。
-
谢谢,莉亚。我现在已经删除并重新添加了几次端口转发条目。我将编辑帖子以显示我是如何设置它的
-
您是否打开了 Windows 防火墙?仅出于故障排除目的关闭,然后重试。