最近,我不得不在W2K8服务器上的IIS 7.5中获得一个旧的ASP应用程序。几乎所有东西都可以正常工作,除了我似乎无法接受大于200kB的上传内容。我确实找到了一个设置,从我能理解的技巧到窍门,在applicationHost.config中,我将最大请求大小设置为100 MB,如下所示:
<location path="TheNameOfMySite">
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="104857600" />
</requestFiltering>
</security>
</system.webServer>
</location>
不幸的是,这似乎什么也没做,它仍然拒绝接受任何大于200 KB的文件,并且在日志文件中给出以下错误消息:
ASP_0104 _:_ 80004005 | Operation_not_Allowed
像上面我所做的那样,谷歌搜索指向增加
maxAllowedContentLength
。所以我没有什么主意,但是我相信聪明的stackoverflow人群可以在比我写这个问题花费的时间更少的时间内解决这个问题。 最佳答案
maxAllowedContentLength
控制允许在响应中发送多少数据。但是,您想控制请求中可以接受的数量。这由配置文件的maxRequestEntityAllowed
部分中limits
元素的asp
属性处理。一个例子可能看起来像:
<system.webServer>
<asp>
<cache diskTemplateCacheDirectory="%SystemDrive%\inetpub\temp\ASP Compiled Templates" />
<limits scriptTimeout="00:02:00"
queueConnectionTestTime="00:00:05"
requestQueueMax="1000"
maxRequestEntityAllowed="104857600"
/>
</asp>
您可以在IIS7管理器中的ASP功能的属性网格中的“限制属性”类别下进行配置。或者,您可以使用命令行:
appcmd set config /section:asp /limits.maxRequestEntityAllowed:104857600
请注意,扩展此值会增加DOS攻击的窗口,在该窗口中,攻击者会将大量内容发送到服务器,因此不要试图将其扩展到超出您真正需要的范围。