当通过ARR POST一个大文件时,请求在120秒后超时。 客户端收到错误代码502 Bad Gateway 。 我已经configurationweb farm的“代理超时”为600秒。 我还configuration了Default Web Site的Connection time-out为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>
背景:
我正在构build一个使用ARR的PoC,以实现我们的后端服务(主要是WCF(基本HTTP)和REST)的负载均衡和高可用性。
其中一项(REST)服务用于每天从批处理作业中接收大量(ish)文件。 REST服务在文件处理完成之前(可能需要5分钟)才会返回,因为客户端应用程序需要知道处理完成的时间(接下来的更多步骤取决于第一个步骤)。
回答我自己的问题,我终于明白了。
我将这添加到configuration/system.applicationHost下的applicationHost.config :
<webLimits connectionTimeout="00:10:00" minBytesPerSecond="0" />
但即使在IISpipe理器中保存并按下“ Manage Server下的“ Restart之后,两分钟后仍然以502响应。
但是,今天当我安装了一些IISfunction(失败请求跟踪),我重新启动了IIS服务W3SVC和Webpipe理服务WMSvc ,突然间502停了下来。
我们有一个类似的问题,与网卡上的默认MTU设置,它被设置为1514而不是1500,这只是导致大post的问题。
在我的情况下,我通过更改代理超时解决了这个问题
这些步骤适用于IIS v7