1. 程式人生 > >提示:413 Request Entity Too Large 的解決方法

提示:413 Request Entity Too Large 的解決方法

一、nginx伺服器

nginx出現這個問題的原因是請求實體太長了。一般出現種情況是Post請求時Body內容Post的資料太大了,
如上傳大檔案過大、POST資料比較多。

處理方法
在nginx.conf增加 client_max_body_size的相關設定, 這個值預設是1m,可以增加到8m以增加提高檔案大小限制;當然可以設定的更大點。
複製程式碼 程式碼如下:

在http,server或者location段修改下面的配置:

# set client body size to 8M #
client_max_body_size 8M;

Windows下啟動 關閉nginx的命令:
啟動

直接點選Nginx目錄下的nginx.exe 或者 cmd執行start nginx

關閉

nginx -s stop 或者 nginx -s quit

stop表示立即停止nginx,不儲存相關資訊

quit表示正常退出nginx,並儲存相關資訊
這兩條命令都無法關閉的話,就通過CTRL+ALT+DELETE開啟工作管理員,直接關閉程序,進行關閉

重啟(因為改變了配置,需要重啟)

nginx -s reload

二、Apache伺服器

修改下Apache配置檔案中的LimitRequestBody配置,如果是虛擬主機,請聯絡空間商幫助修改。
具體步驟:
在apache環境中上傳較大軟體的時候,有時候會出現413錯誤,出現這個錯誤的原因,是因為apache的配置不當造成的,找到apache的配置檔案目錄也就是conf目錄,和這個目錄平行的一個目錄叫conf.d開啟這個conf.d,裡面有一個php.conf
目錄內容如下:
程式碼如下:

#
# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
#
LoadModule php4_module modules/libphp4.so
#
# Cause the PHP interpreter handle files with a .php extension.
#
SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 6550000
# # Add index.php to the list of files that will be served as directory # indexes. # DirectoryIndex index.php

錯誤就發生在這個LimitRequestBody配置上,將這個的值改大到超過你的軟體大小就可以了
如果沒有這個配置檔案請將
程式碼如下:

SetOutputFilter PHP
SetInputFilter PHP
LimitRequestBody 6550000

寫到apache的配置檔案裡面即可。

三、IIS伺服器(Windows Server 2003系統IIS6)

先停止IIS Admin Service服務,然後
找到windows\system32\inesrv\下的metabase.xml,開啟,找到ASPMaxRequestEntityAllowed 修改為需要的值,然後重啟IIS Admin Service服務
1、在web服務擴充套件 允許active server pages和在伺服器端的包含文件
2、修改各站點的屬性 主目錄-配置-選項-啟用父路徑
3、使之可以上傳大文件(修改成您想要的大小就可以了,以位元組為單位)
c:\WINDOWS\system32\inetsrv\MetaBase.xml

!企業版的windows2003在第592行

預設的預設定值 AspMaxRequestEntityAllowed=”204800” 即200K
將其加兩個0,即改為,現在最大就可以上傳20M了。
程式碼如下:

AspMaxRequestEntityAllowed="20480000"