問題說明
在 Windows7(iis7.5)、Win2008(iis 7.0)和Win2003(iis 6.0) 中,預設設置是特別嚴格和安全的,這樣可以最大限度地減少因以前太寬鬆的超時和限制而造成的攻擊。
指定 ASP 請求的實體主體中允許大小為 200,000 (IIS6為204,800) 個位元組,在 iis 6.0 之前的版本中,例如:Windows XP(IIS 5.1),沒有限制。
這就造成了檔上傳不能超過200k,而事實上是提交資料不能超過 200k,你可以發一個很長的文章試試,也會出現這個錯誤。
IIS7.0的修改方法
- 打開IIS管理器→ 按兩下「IIS」中的「ASP」→ 打開「限制內容」;
- 修改「要求實體的上限」的值,預設值為200000(即不到200KB);
- 把它修改為你想修改的大小,如:52000000(50MB);
- 修改完成點擊「套用」,建議重新啟動系統,一切就OK了!
附:iis7 上傳大檔限制的真正解決辦法
- 打開「Internet 資訊服務(IIS)管理器」;
- 關閉IIS服務;
- 按兩下「Default Web Site「→按兩下中間窗格中的「要求篩選」→按一下右側窗格的「編輯功能設置」→修改「請求限制」下面的「允許的最大內容長度」,預設是30M,隨便改大一點,我改成300M,點擊「確定」;
- 重新開機IIS,再上傳試試,50M、90M都可以了。
IIS6.0的修改方法 (參考, 沒有環境測試)
- 在IIS中右鍵「本地電腦」選擇「屬性」,鉤選「允許直接編輯設定資料庫」;
- 在服務裡關閉「IIS Admin Service」服務;
- 找到c:\windows\system32\inetsrv\下的「MetaBase.xml」,打開,找到「AspMaxRequestEntityAllowed 」把他修改為需要的值,預設為204800,即200k ,把它修改為51200000(50MB);
- 然後重啟「IIS Admin Service"服務。
在 IIS 6.0 中,無法下載超過4M的附件時,可以按以下步驟解決 :
- 先在服務裡關閉 iis admin service 服務。
- 找到 windows\system32\inetsrv\ 下的 metabase.xml 檔。
- 用純文字方式打開,找到 AspBufferingLimit 把它修改為需要的值,預設為4194304(可修改為20M即:20480000)。
- 4、存檔,然後重啟 iis admin service 服務。