IIS 重写导致 60 秒响应延迟

IIS rewrites cause 60 seconds response delay

我们有大约 50 个网站共享相同的代码(通过符号链接)。请求由 IIS 7.5 -> Tomcat 7 -> ColdFusion 10 处理。我们使用 IIS 重写模块 (web.config)。 OS 是 Windows 服务器 2008 R2。

当请求 /stylesheets/merge.css/scripts/merge.js/api/service.json 之类的 URL 被重写为 .cfm 文件 (ColdFusion) 时,returns 相应 MIME 类型中的动态内容,请求需要 exactly 60 秒才能收到响应。当重写指向由 IIS 处理的静态文件时,不会发生此延迟。非重写也不会发生这种情况。

现在奇怪的部分来了:这个问题只发生在 Internet Explorer 和 Microsoft Edge 上,而且只发生在 50 个网站中的 1 个。

重写规则示例:

<rule name="stylesheet" stopProcessing="true">
    <match url="^stylesheets/merged/([^/]+)\.css$" ignoreCase="true" />
    <action type="Rewrite" url="/symlink/design/stylesheets/merge.cfm?mode={R:1}" appendQueryString="true" />
</rule>

这可能是什么原因?我该如何进一步调查?

我们想通了。这是我们主机方面的错误配置。使用的负载平衡器 (HAProxy) 关闭了所有不允许分块传输编码的 HTTP 连接。 IE/Edge 是唯一明显不回退的浏览器。