一切的开始

想必所有正在练习写网页的孩子都会用 XAMPP 或者 WAMP 之类的在本地搭建一个 HTTP 服务,便于查看和调试网页,然而这个 HTTP 服务只能在 localhost 下被访问,当我想用我的手机或者其他设备来调试网页的时候,却发现在同一局域网下,直接访问 HTTP 服务所在机器的 IP 会超时。

摸索

上 bing 搜索一番,基本都是说 http.conf 或者 http-xampp.conf 中存在 deny 的规则,需要将带有 Order, deny 的一行注释掉,然而似乎新版本的 XAMPP 并没有这条规则

更有后者说,要将 http.conf 中的 Listen 80 加入具体的 IP 地址,然而根据我玩服务器的经验来看,似乎时没用的,死马当活马医也试了一下,果然没用。

还是自己分析吧

因为是连接超时,而不是拒绝访问,我首先排查 Apache 是否收到了请求,查看 log 果然是没有的,于是将目光放到防火墙上,平日里觉得 Windows 自带的那个防火墙是没有任何存在感的,然而这一检查果然是防火墙的锅。

  • 运行 wf.msc 打开“高级安全 Windows 防火墙”管理控制台
  • 点击入站规则
  • 找到 Apache HTTP Server,这时你会发现他的公用配置是被禁止入站的。
  • 双击 Apache HTTP Server,改为“允许连接”,关闭保存即可

小结

果然遇到一些事情考搜索引擎不靠谱还是得自己分析啊,这样锻炼自己排查问题的能力也不错。