Iis
通過 ARR 執行時,大文件的 POST 超時
通過 ARR 發布大文件時,請求在 120 秒後超時。客戶端收到錯誤程式碼
502 Bad Gateway
。我已將網路場的“代理超時”配置為 600 秒。我還將 of 配置Connection time-out
為Default Web Site
600 秒。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 管理器中保存並按下
Restart
,Manage Server
它仍然502
在兩分鐘後響應。但是,今天當我安裝了一些 IIS 功能(Failed Request Tracing)時,我重新啟動了 IIS 服務
W3SVC
和 Web 管理服務WMSvc
,然後突然502
停止了。
就我而言,我通過更改代理超時解決了問題
- 轉到 IIS 管理器
- 應用程序請求路由
- 在“操作”下,轉到伺服器代理設置
- 將超時更改為您想要的值。
這些步驟適用於 IIS v7