如何调试HTTP请求的挂起状态

时间:2013-12-11 11:15:38

标签: http iis

我的网站在我的本地计算机上正常运行。当我发布它并通过互联网访问它时,它也可以正常工作。

但是,当我通过公司的网络(LAN)访问它时,许多请求都处于挂起状态,并且它们不会成功返回,也不会返回错误。没有IIS日志,没有任何内容。

在5分钟之后,请求就会死掉。 Chrome控制台中未显示HTTP响应。我想这是一个网络问题。但我不知道如何调试它。

我应该如何调试此待处理状态?

1 个答案:

答案 0 :(得分:5)

这对于sys-ops而言比开发更成问题,但您可能需要验证/证明问题出在路由器而不是服务器或计算机配置上。

您需要的第一个工具是网络分析器,这个外观不仅仅是Wireshark。您需要在计算机上拥有管理员权限。 Wireshark很直观,但有很多功能,你可能想阅读一两个关于如何使用它的教程。

使用计算机上的Wireshark,您可以验证是否已建立或尝试与服务器建立TCP连接。如果您不知道TCP如何工作,现在是时候学习了。 根据结果​​,您应该回答问题所在:

  • 没有TCP SYN发送或发送到错误的IP:您的计算机出现问题。确保服务器未重定向到hosts文件中的localhost / wrong ip,并确认没有静态路由添加到路由表中。
  • 很可能没有TCP SYN-ACK:问题出在网络路由中,您可能希望在服务器上安装Wireshark并验证SYN数据包确实没有通过。让您的系统操作员解决问题。可能是配置错误的防火墙规则。
  • 非常不可能:建立TCP连接并将HTTP请求发送到服务器,但服务器不响应。不知道,如果服务器响应互联网流量,它应该响应您的流量。

顺便说一下,如果贵公司没有系统操作员来修复问题,请在计算机和服务器之间获取任何可配置路由器的模型,然后尝试询问Server Fault(或咨询顾问)

相关问题