1. 程式人生 > >Not Found 請求篩選模組被配置為拒絕超過請求內容長度的請求,原因是Web伺服器上的請求篩選被配置為拒絕該請求,因為內容長度超過配置的值(IIS 7 預設檔案上傳大

Not Found 請求篩選模組被配置為拒絕超過請求內容長度的請求,原因是Web伺服器上的請求篩選被配置為拒絕該請求,因為內容長度超過配置的值(IIS 7 預設檔案上傳大

要解決方法即是更改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為單位。