HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。(上传文件长度问题)
HTTP 錯誤 404.13 - Not Found 請求篩選模塊被配置為拒絕超過請求內容長度的請求。
問題:HTTP 錯誤 404.13 - Not Found 請求篩選模塊被配置為拒絕超過請求內容長度的請求。
原因:Web 服務器上的請求篩選被配置為拒絕該請求,因為內容長度超過配置的值(IIS 7 默認文件上傳大小時30M)。
解決:更改asp.net文件上傳大小限制
1. 修改IIS的applicationhost.config
文件位置: %windir%/system32/inetsrv/config/applicationhost.config
找到<requestFiltering>節點,該節點下默認沒有 <requestLimits maxAllowedContentLength="上傳大小的值(單位:byte)" /> 元素。為這個節點添加如下元素:<requestLimits maxAllowedContentLength="2147483647" />? (上傳的大小將改為2G)
2. web.config中,添加如下內容
<configuration><system.web><httpRuntime maxRequestLength="2097151" executionTimeout="120"/></system.web> </configuration>??? 說明:
httpRuntime?配置 ASP.NET HTTP 運行時設置,以確定如何處理對 ASP.NET 應用程序的請求。
????? maxRequestLength?(指示 ASP.NET 支持的最大文件上載大小)
指定輸入流緩沖閾值限制(以 KB 為單位)。此限制可用于防止拒絕服務攻擊;例如,因用戶向服務器發送大型文件而導致的拒絕服務攻擊。
默認值為 4096 (4 MB),最大值只能是2097151K。
?????? executionTimeout
指定在被 ASP.NET 自動關閉前,允許執行請求的最大秒數。默認90秒。
只有當 compilation 元素中的調試屬性為 False 時,此超時屬性才適用。若要幫助避免在調試期間關閉應用程序,請不要將此超時屬性設置為較大值。
3. web.config中,把以下內容加在<system.webServer>節點
<security>
? <requestFiltering?>
??? <requestLimits?maxAllowedContentLength="2147483647"?></requestLimits>
? </requestFiltering>
</security>
??? 上述中maxAllowedContentLengt是以BK為單位。
?
ASP.NET配置設置:?http://msdn.microsoft.com/zh-cn/library/b5ysx397(v=VS.80).aspx
?
?
ASP.NET MVC 上傳大文件時404
前一段時間會員的上傳組件改用FLASH的swfupload來上傳,既能很友好的顯示上傳進度,又能完全滿足大文件的上傳。
后來服務器升級到windows 2008,改為IIS7后,上傳文件一旦超過30M時,就出現404錯誤,而且是是上傳進度達到100%之后,真是讓人難思其解。
?
反復測試,發現FLASH上傳文件到并沒有正確的執行.NET程序,也就是.NET程序本身有問題;
但小于30M又是一切OK,難道是上傳的文件大小有所限制?
檢查web.config的httpRuntime :
| 1 | <httpRuntime?maxRequestLength="2097151" executionTimeout="50000" /> |
已經是很大值了。
因為無法正確得到詳細的錯誤信息,就用一個普通的FORM提交一個FileUpload測試,原來真是web.config的設置問題:
報錯信息:
最可能的原因:
Web 服務器上的請求篩選被配置為拒絕該請求,因為內容長度超過配置的值。
可嘗試的操作:
確認 applicationhost.config 或 web.config 文件中的 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 設置。?
鏈接和更多信息
? 這是一項安全功能。請不要更改此功能,除非您完全清楚更改的影響范圍。您可以配置 IIS 7.0 服務器以拒絕內容長度大于指定值的請求。如果請求的內容長度大于所配置的長度,便會返回此錯誤。如果需要增加內容長度,請修改 configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength 設置。
?
解決方案
原來IIS7的上傳文件大小,即便是在經典模式下,也一定要在system.webServer里設置,加上去就OK了:
| 1 2 3 4 5 6 7 | <system.webServer> ??<security> ????<requestFiltering?> ??????<requestLimits?maxAllowedContentLength="1073741824" ></requestLimits> ????</requestFiltering> ??</security> </system.webServer> |
?
?
總結
以上是生活随笔為你收集整理的HTTP 错误 404.13 - Not Found 请求筛选模块被配置为拒绝超过请求内容长度的请求。(上传文件长度问题)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp文件上传和下载
- 下一篇: H.264中的一些易混淆概念