现在已经追了好几天了。它来来去去......意思是,问题存在了8-10个小时,然后消失了12个小时,然后重新出现了4个小时然后消失了2个小时等等。
以下是我的设置:我有一台运行IIS 7.5的Windows 2008 R2服务器,该服务器托管了大约60个网站。每个网站都有自己的IP地址。除了在端口443(ssl)上运行的一个(我的管理面板)之外,所有站点都在端口80上运行。
我注意到这些网站上周停止了工作。我点击其中一个网站,Chrome给了我“Ooops!Google Chrome无法连接到www.mysite.com尝试重新加载......”。如果我刷新页面5到6次(有时需要10次以上),那么该网站就会出现。我最初的想法是,这是一个网络相关的问题,所以我RDP到服务器,打开IIS并从IIS中的浏览链接浏览到一些网站。我直接在服务器上看到了同样的事情。然后我想,也许是因为通过点击IP,它仍然首先到达路由器,这可能是问题的根源所以我将其中一个站点绑定到环回地址(127.0.0.1)并看到了同样的问题。整个问题的一个常数就是我443上的网站从来没有打过嗝,这让我觉得可能只是80端口有问题所以我绑定了我将127.0.0.1绑定到不同端口的网站(20005)当我通过点击127.0.0.1:20005和它的常规IP在端口20005上浏览本地时它工作正常。
通过这些“测试”,我发现它只有端口80出现问题。我的下一个想法是,可能是Symantec的Endpoint Protection(我的病毒软件)阻止了端口80上的传入请求,所以我禁用了它......同样的问题。
然后我想也许这是我的Windows防火墙规则呕吐。我重新创建规则以允许端口80上的流量通过,同样的问题。然后,我完全禁用了防火墙,看看是否有其他东西在防火墙内绊倒了,同样的问题。
然后我尝试从远程计算机远程登录到端口80上的一个站点。它经历了3到4次,然后telnet将无法连接。因此,它经历的时间是服务器提供网页的时间。它不会连接的时间是它不能为页面服务的时间。
然后我在IIS中为其中一个站点添加了“失败的请求跟踪”,看看我是否可以确定它失败时失败的原因。我尝试了几次网站,它失败但没有创建日志。然后我终于完成了,它创建了一个日志。这告诉我,当它失败时,它甚至没有进入IIS。
然后我尝试了跑步:
netstat -anp tcp | find ":80"
查看是否有其他东西正在捕获端口80上传入的流量。这并没有向我显示任何异常情况。我还下载并运行了TcpView,但没有看到任何可以捕获端口80上的流量的东西。然后我停止了IIS并再次运行上述两个,当IIS停止时,没有任何东西在端口80上监听。
然后我尝试进行一些端口映射,将端口80上的流量映射到高端口,看看是否至少允许服务器一致地提供页面。我使用此命令映射端口
netsh interface portproxy add v4tov4 listenport=80 listenaddress=188.55.22.11 connectport=20005 connectaddress=188.55.22.11
这并没有解决这个问题,它告诉我问题是在它甚至达到网络堆栈的水平之前发生的(这是我不知道在哪里?)。
我已经完成了iisreset,我重新启动了服务器,我运行了病毒扫描,我运行了Windows更新,我已经完成了磁盘碎片整理...没有修复此问题。
我的问题可能与硬件有关吗?一个网络接口是否会变坏,以至于它只会禁止一个端口上的流量,但允许所有其他流量通过就好了?我可以FTP到机器没有任何问题,我可以RDP到机器没有任何问题,如上所述,我的网站443从来没有问题....它只是端口80。
我完全没有想要寻找的方法/解决方法。此时的任何建议都会受到欢迎。
更新:我将网络接口切换到服务器上的另一个网卡,看到了同样的问题
TIA
答案 0 :(得分:0)
您确定不是您的应用程序池崩溃吗? 127.0.0.1:20005的工作原理可能是因为当你将它映射到20005时,流量从端口80停止进入,所以你的网站没有得到任何流量就会崩溃它。
检查您的事件日志,看看是否有任何应用程序池由于崩溃而重新启动。
答案 1 :(得分:0)
昨晚我实际上卸载了Symantec Endpoint Protection,现在似乎已经恢复了。我认为这是网络威胁检测正在杀死它。如果问题得到解决,我会让它休息几天,然后在这里回复一下。
编辑:现在已经过了几天没有任何打嗝,所以我要将问题归结为SEP捕获流量并将其删除。看起来非常奇怪,它只会在某些时候反弹,然后它会长时间无故障地运行。我重新安装了SEP减去网络威胁检测,一切都很好。