Hyper-V客户端上的应用程序请求路由间歇性停止

简短的介绍:

我在一个hyper-v guest虚拟机上configurationARR时出现了一个奇怪的问题。

我可以正常加载我的DotNetNuke / ASPx站点,但经过一段时间不活动后,页面不再加载。

只有在访问默认的IIS站点并按下Ctrl + F5后,它才能恢复工作。 直到我离开浏览器再次空闲。

下面我描述这个场景和完整的描述:

场景:

(注意:我花了好几天的时间试图用生产设置来解决问题,我禁用了规则并configuration了一个“全部通过”的规则,简化到这种情况,但问题是一样的。

  • 我有一个d-link DSL-2750B,它是80端口转发到反向代理服务器(Windows 2012标准虚拟机)的端口;

  • 此反向代理服务器启用了ARR,并且URL重写规则configuration为通过使用“全部捕获规则”(*)将所有调用redirect到Web服务器(重新路由到其服务器场),仅用于testing目的;

  • 在也是虚拟机的Web服务器上,我有3个DotNetNuke站点和1个默认IIS网站,只有默认的html;

  • 所有这些网站都没有Windows身份validation。 他们都接受匿名。

详细描述:

上面的configuration工作。 为了使testing更强大,我使用我的家用电脑通过LogmeIn访问公司页面:

  • 我打开我的“家”Web浏览器并导航到所有网站(3个DN网站和默认IIS站点)。 一切都好。

  • 现在我离开Web Broser闲置或只是继续工作,随机分钟。

  • 突然间,当我尝试刷新或导航通过网站,页面不加载,并且网页浏览器不断显示“进度图标”(在Firefox,正在运行的绿色圆圈,灰色之后)。

  • 它会保持很长时间,直到出现“重新启动连接”消息。

  • 点击“刷新”button多less次无关紧要,不断显示绿色圆圈。 另外,closures浏览器并打开新的实例也没有帮助。 最终,几分钟后,这些网站重新开始工作。

  • 现在奇怪的部分:如果我浏览默认的IIS网站,并按Ctrl + F5,我可以正常导航到DNN网站!

  • 所有的导航都很好,直到最后几分钟之后再次卡住。

有人通过这个问题?

更多信息:

  • 同时“家”Web Broser卡,“公司”Web浏览器(通知,在同一networking中)正常工作,通过使用HOSTS修改指向ARR服务器)。

  • 如果我直接转发到Web服务器(VM)的防火墙,一切似乎运作良好。

  • 似乎有一个保留的时间工作,并保留一段时间不工作。 这是间歇性的。

  • 我发现绕过这个问题的唯一技巧是在Web浏览器中加载一个默认的IIS网站。

好。 经过又一天的testing,现在涉及到一个朋友,我们发现了匪徒:路由器。

我们用一个老式的D-Link DI-624replace了路由器,我们已经有了一切,现在一切正常。

这里我们find问题点的步骤:

  • 首先,我们在论文中提出了请求从客户端到Web服务器的整个基础架构

  • 那么,我们开始淘汰testing。 validation问题,从头到尾。 首先,再次testing整个基础架构中的请求

  • 之后,我们将网站移动到每个服务器并testing每个服务器:

    • 从“虚拟机Web服务器”到“虚拟机ARR服务器”,并进行testing,本地和远程
    • 从“VM ARR服务器”到“Hyper-v主机服务器”并进行本地和远程testing
  • 对于每一个Web站点的移动,我们都将防火墙指向ARR并直接指向Web Server

通过这些testing,我们可以消除在操作系统,hyper-v客户端,ARR / Rewrite甚至是我们的networking或网卡或电缆中都无法解决的错误。

所以,当我们进行testing的时候,当我们到达链中的最后一个环节时,我们冒着风险去绘制,路由器。

而已!