IIS 7 中設(shè)置web.config限制文件上傳大小方法
HTTP錯(cuò)誤404.13 – Not Found 請(qǐng)求篩選模塊被配置為拒絕超過請(qǐng)求內(nèi)容長(zhǎng)度的請(qǐng)求,原因是Web服務(wù)器上的請(qǐng)求篩選被配置為拒絕該請(qǐng)求,因?yàn)閮?nèi)容長(zhǎng)度超過配置的值(IIS 7 默認(rèn)文件上傳大小時(shí)30M)。
要解決方法即是更改ASP.NET文件上傳大小限制:
1. 修改IIS的applicationhost.config
文件位置: %windir%/system32/inetsrv/config/applicationhost.config
找到<requestFiltering>節(jié)點(diǎn),該節(jié)點(diǎn)下默認(rèn)沒有 <requestLimits maxAllowedContentLength=”上傳大小的值(單位:byte)” /> 元素。為這個(gè)節(jié)點(diǎn)添加如下元素:<requestLimits maxAllowedContentLength=”2147483647″ /> (上傳的大小將改為2G)
2. web.config中添加如下內(nèi)容:
<configuration>
<system.web>
<httpRuntime maxRequestLength=”2097151″ executionTimeout=”120″/>
</system.web>
</configuration>
說明:
httpRuntime 配置 ASP.NET HTTP 運(yùn)行時(shí)設(shè)置,以確定如何處理對(duì) ASP.NET 應(yīng)用程序的請(qǐng)求。
maxRequestLength (指示 ASP.NET 支持的最大文件上載大小)
指定輸入流緩沖閾值限制(以 KB 為單位)。此限制可用于防止拒絕服務(wù)攻擊;例如,因用戶向服務(wù)器發(fā)送大型文件而導(dǎo)致的拒絕服務(wù)攻擊。
默認(rèn)值為 4096 (4 MB),最大值只能是2097151K。
executionTimeout:指定在被 ASP.NET 自動(dòng)關(guān)閉前,允許執(zhí)行請(qǐng)求的最大秒數(shù)。默認(rèn)90秒。
只有當(dāng) compilation 元素中的調(diào)試屬性為 False 時(shí),此超時(shí)屬性才適用。若要幫助避免在調(diào)試期間關(guān)閉應(yīng)用程序,請(qǐng)不要將此超時(shí)屬性設(shè)置為較大值。
在的web.config文件中加入如下配置代碼:(把以下內(nèi)容加在<system.webServer>節(jié)點(diǎn))
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1048576000"></requestLimits>
</requestFiltering>
</security>
</system.webServer>
上述中maxAllowedContentLengt是以BK為單位。
