IIS請求篩選模塊被配置爲拒絕超過請求內容長度的請求(上傳大文件)

項目做大文件上傳時,本地源碼運行、調試狀態下沒問題,但是發佈版,放到IIS下不能上傳,報錯,原來是如下問題!
HTTP錯誤404.13 - Not Found 請求篩選模塊被配置爲拒絕超過請求內容長度的請求,原因是Web服務器上的請求篩選被配置爲拒絕該請求,因爲內容長度超過配置的值(IIS7默認文件上傳大小是30M)。


一、要解決方法即是更改ASP.NET文件上傳大小限制:
1. 修改IIS的applicationhost.config

文件位置: %windir%/system32/inetsrv/config/applicationhost.config
                    或
                   %windir%\system32\inetsrv\config\applicationhost.config
找到<requestFiltering>節點,該節點下默認沒有<requestLimits maxAllowedContentLength="上傳大小的值(單位:byte)" /> 元素。爲這個節點添加如下元素:
<requestLimits maxAllowedContentLength="2147483647" /> (上傳的大小將改爲2G)
2. web.config中添加如下內容:
  1. <configuration>  
  2.   <system.web>  
  3.      <httpRuntime maxRequestLength="2097151" executionTimeout="120"/>  
  4.   </system.web>  
  5. </configuration>  
說明:
httpRuntime配置ASP.NET HTTP運行時設置,以確定如何處理對ASP.NET應用程序的請求。
maxRequestLength(指示ASP.NET支持的最大文件上載大小)
指定輸入流緩衝閾值限制(以KB爲單位)。此限制可用於防止拒絕服務攻擊;例如,因用戶向服務器發送大型文件而導致的拒絕服務攻擊。
默認值爲4096(4MB),最大值只能是2097151K。
executionTimeout:指定在被 ASP.NET 自動關閉前,允許執行請求的最大秒數。默認90秒。
只有當compilation元素中的調試屬性爲False時,此超時屬性才適用。若要幫助避免在調試期間關閉應用程序,請不要將此超時屬性設置爲較大值。
3. web.config中,把以下內容加在<system.webServer>節點
  1. <security>  
  2.   <requestFiltering >  
  3.     <requestLimits maxAllowedContentLength="2147483647" ></requestLimits>  
  4.   </requestFiltering>  
  5. </security>  

上述中maxAllowedContentLengt是以BK爲單位。


發佈了19 篇原創文章 · 獲贊 17 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章