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

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

简短的介绍:

我在 Hyper-V 客户机上配置 ARR 时遇到了一个奇怪的问题。

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

只有在我访问默认 IIS 站点并按下 Ctrl + F5 后,它才会恢复工作。直到我再次让浏览器处于空闲状态。

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

场景:

(注意:在花了几天时间尝试找出生产设置的问题后,我已禁用规则并配置了“全部捕获”规则。它简化为这种场景,但问题是一样的。)

  • 我有一台 d-link DSL-2750B,它将 80 年代的端口转发到反向代理服务器(Windows 2012 Std VM);

  • 该反向代理服务器已启用 ARR,并配置了 URL 重写规则,通过使用“捕获所有规则”(*),将所有调用重定向到 Web 服务器(重新路由到其服务器场),这仅用于测试目的;

  • 在 Web 服务器(也是一个 VM)中,我有 3 个 DotNetNuke 站点和 1 个默认 IIS 网站,只有默认 html;

  • 所有这些站点均没有 Windows 身份验证。它们均接受匿名。

详细描述:

上述配置有效。为了使测试更可靠,我使用家用电脑通过 LogmeIn 访问公司页面:

  • 我打开我的“主页” Web 浏览器并导航到所有站点(3 个 dnn 站点和默认 IIS 站点)。一切正常。

  • 现在,我让 Web 浏览器处于空闲状态,或者只是继续工作,随意几分钟。

  • 突然,当我尝试刷新或浏览网站时,页面未加载,并且 Web 浏览器一直显示“进度图标”(在 Firefox 上,为运行的绿色圆圈,紧接着灰色圆圈)。

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

  • 无论点击“刷新”按钮多少次,它都会一直显示绿色圆圈。此外,关闭浏览器并打开新实例也无济于事。最终,几分钟后,网站恢复正常。

  • 现在诡异的部分:如果我导航默认的 IIS 站点,并按 Ctrl+F5,我就可以正常导航到 DNN 站点!

  • 一切运行顺利,直到几分钟后它再次卡住。

有人解决过这个问题吗?

更多信息:

  • 在“家庭” Web 浏览器卡住的同时,“公司” Web 浏览器(请注意,在同一网络中)正常工作,通过使用 HOSTS 修改指向 ARR 服务器)。

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

  • 好像有预留工作时间和预留非工作时间。它是间歇性的。

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

答案1

好的。经过一天的测试,再加上朋友的帮助,我们找到了罪魁祸首:路由器。

我们刚刚用备用的旧的、性能良好的 D-Link DI-624 路由​​器替换了原来的路由器,现在一切运行正常。

以下是我们找到问题点的步骤:

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

  • 然后,我们开始进行消除测试。从头到尾验证问题。首先,再次测试请求在整个基础设施中行走

  • 之后,我们将网站移至每台服务器并进行测试:

    • 从“VM Web 服务器”到“VM ARR 服务器”,并进行本地和远程测试。
    • 从“VM ARR 服务器”到“Hyper-v 主机服务器”并进行本地和远程测试
  • 对于每个网站活动,我们将防火墙指向 ARR 和 Web 服务器

通过这些测试,我们可以排除错误可能出在操作系统、Hyper-V 客户机、ARR/Rewrite,甚至我们的网络或网卡或电缆中。

因此,当我们进行测试时,当我们到达链中的最后一个环节:路由器时,我们冒着绘图的风险。

就是这样!

相关内容