Iis

通過 ARR 執行時,大文件的 POST 超時

  • March 10, 2021

通過 ARR 發布大文件時,請求在 120 秒後超時。客戶端收到錯誤程式碼502 Bad Gateway。我已將網路場的“代理超時”配置為 600 秒。我還將 of 配置Connection time-outDefault Web Site600 秒。ARR 伺服器已重新啟動。

以下來自 ARR 伺服器上的日誌文件:

2015-05-07 13:25:16 192.168.87.155 POST /Redacted/Import/RedactedImport20150507_152313.csv X-ARR-CACHE-HIT=0&X-ARR-LOG-ID=253daa4a-8372-405a-8efd-21ebbc38353f 80 - 192.168.87.198 - redacted.local 502 3 64 120436

來自 applicationHost.config:

   <webFarm name="redacted.local" enabled="true">
       <server address="redacted.local" enabled="true" />
       <applicationRequestRouting>
           <healthCheck url="http://redacted.local/redacted.svc" liveTrafficFailureCodes="400-" />
           <protocol timeout="00:10:00" />
       </applicationRequestRouting>
   </webFarm>

背景:

我正在建構一個 PoC 以使用 ARR 為我們的後端服務實現負載平衡和高可用性,這些服務主要是 WCF(基本 HTTP)和 REST。

其中一個(REST)服務用於每天從批處理作業中接收幾次大(ish)文件。REST 服務在文件處理完成之前不會返回(這可能需要 5 分鐘),因為客戶端應用程序需要知道處理何時完成(後面有更多步驟,取決於第一個步驟)。

回答我自己的問題,因為我終於弄明白了。

我在applicationHost.config下面添加了這個configuration/system.applicationHost

<webLimits connectionTimeout="00:10:00" minBytesPerSecond="0" />

但即使在 IIS 管理器中保存並按下RestartManage Server它仍然502在兩分鐘後響應。

但是,今天當我安裝了一些 IIS 功能(Failed Request Tracing)時,我重新啟動了 IIS 服務W3SVC和 Web 管理服務WMSvc,然後突然502停止了。

就我而言,我通過更改代理超時解決了問題

  1. 轉到 IIS 管理器
  2. 應用程序請求路由
  3. 在“操作”下,轉到伺服器代理設置
  4. 將超時更改為您想要的值。

這些步驟適用於 IIS v7

引用自:https://serverfault.com/questions/690571