更新:
- 重新安装 Windows 7
- 已安装 Windows 8
- 各种 Apache 调整(AcceptFilter http none...)
- 已安装 Windows XP
一些 Wireshark 日志
1 0.000000000 HonHaiPr_0b:36:ae D-LinkIn_64:ca:28 ARP 42 Who has 192.168.0.1? Tell 192.168.0.102
2 0.001844000 D-LinkIn_64:ca:28 HonHaiPr_0b:36:ae ARP 42 192.168.0.1 is at 28:10:7b:64:ca:28
适用于 XP,可惜 PHP 不再支持。
问题:我该把路由器扔出窗外吗?我不能怪 Windows(我内心深处想这么做)
我在使用 Windows7 上的 Apache 时遇到了(几乎)随机的连接超时,以至于我害怕遇到F5...我无法解释它何时发生,因为我无法找到模式。
给我带来麻烦的电脑是 Mario 想要打的那台。有趣的是,它无法从另一台电脑访问视窗计算机(发生超时时),但可以从Linux一个。出现超时消息后(大约 30 秒后),它通常会再次工作,如果不行,我必须重新启动 Apache。它们通过无线方式连接到便宜的 D-Link 路由器,后来通过电缆连接。
当一切正常时:
- 我可以从任何计算机访问
- 我可以通过 DynDNS 从外部(互联网)访问
- 我可以毫无问题地访问网络(共享)
- 我没有头痛
如果不是:
- 我无法通过 HTTP 访问 (
http://192.168.0.111
) - 我无法通过 DynDNS 从外部(互联网)访问
- 我可以毫无问题地访问网络(共享)
- 我可以从网络中的 Linux 计算机访问
- 我可以从有问题的计算机访问(
http://127.0.0.1
) - 我有轻微的头痛
我尝试过什么:
- 将各处的 MTU 设置为 1500
- Apache 已更新至 2.4.2 - 32 位
- 已禁用所有 F!r3w411z
- 通过以太网电缆连接相关计算机(超时频率较低)
额外的:
我确实有 2-3 个虚拟主机定义如下:
Listen *:1337
<VirtualHost *:1337>
ServerName l337
DocumentRoot C:/git/1337
<Directory "C:/git/1337">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
如果问题太过局部,请告诉我们。类似内容:http://www.xinotes.org/notes/note/1777/
感谢您的时间。
PS:我尝试将其关闭然后重新打开。
答案1
答案是:
PS:不要对廉价的 DLink(或任何其他可能的)路由器抱有太大期望。
答案2
如果您尝试使用 IP 地址进行连接,并且它在 Linux 上始终有效(我是 Windows 管理员,所以我不想这么说),那么它很可能是 Windows,因为所有有问题的机器都在运行 Windows。
当有事情让您头疼时,您与所有 Windows 机器之间的 ping 是否都能完成?
在出现问题之前是否有其他程序尝试在端口 80 上运行?(Skype、IIS、SQL)
您是否尝试过将 Apache 设置为使用端口 8080?
如果您确实认为问题出在路由器上,请尝试以下操作:
- 将其从互联网上删除
- 用简单的集线器或交换机暂时替换路由器
- 尝试连接
路由器可能是问题所在,但便宜并不意味着“不起作用”。并非每个网络都需要“更大更好更快”的硬件解决方案。
答案3
看起来您可能会根据 apache/Conf/httpd.conf 下的 apache 配置收到这些错误。