1

在 Windows 2008 R2 IIS 7.5 上,ARR 和 URL 重写在端口 80 上运行 在同一台服务器上,端口 10000 上的 Apache 正在运行(设计上没有采用 8080)。IIS 将所有正在进行的查询 / cp1 转发到 Apache(反向代理)。

在 Apache 上运行许多 Ajax 请求到数据库。如果此类请求超过 5 秒,我会从 IIS 收到以下消息:

Fehlerzusammenfassung
HTTP-Fehler 502.3 - Bad Gateway
Der Server lieferte eine ungültige oder unbekannte Rückmeldung.
Ausführliche Fehlerinformationen
Modul   ApplicationRequestRouting
Benachrichtigung    ExecuteRequestHandler
Handler ApplicationRequestRoutingHandler
Fehlercode  0x80072f78
Angeforderte URL    http://win2008r2iis:80/cp1/index.pl
Physikalischer Pfad C:\inetpub\wwwroot\cp1\index.pl
Anmeldemethode  Anonym
Angemeldeter Benutzer   Anonym

响应标头现在向我指示如下:

Pragma: no-cache
Date: Thu, 08 Jan 2015 10:27:00 GMT
Server: Microsoft-IIS/7.5
X-Powered-By: ARR/2.5, ASP.NET
Content-Type: text/html; charset=utf-8
Cache-Control: private
Content-Disposition: inline;
Keep-Alive: timeout=5, max=100
Content-Length: 5323
Expires: Tue, 1 Jan 1980 12:00:00 GMT

问题在 Keep-Alive 标题 5 秒中说明。根据 web.config 但 1 分钟设置为超时:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <handlers>
            <remove name="Perl" />
            <remove name="ActiveState Perl for *.pl" />
            <remove name="PerlEx" />
        </handlers>
        <staticContent>
            <clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
        </staticContent>
        <httpProtocol allowKeepAlive="true" />
    </system.webServer>
   <system.applicationHost>
      <webLimits connectionTimeout="00:01:00" />
   </system.applicationHost>
</configuration>

在 ARR 缓存设置中输入值为 120 秒。

4

0 回答 0