天天看點

Nginx 伺服器的檔案大小的限制及413request Entity too Large錯誤解決辦法

伺服器使用Nginx 作為反向代理伺服器,報上傳錯誤,是因為請求長度超過了Nginx預設的緩存大小和最大用戶端最大請求大小;

413 request Entity too Large錯誤的解決辦法

post請求

Nginx 伺服器的檔案大小的限制及413request Entity too Large錯誤解決辦法

配置參數:

​ 1)配置請求體緩存區大小

​ client_body_buffer_size 10m;

​ 2)配置用戶端請求體最大值

​ client_max_body_size 20m;

​ 3)設定臨時檔案存放路徑(可選配置)

​ client_body_temp_path /data/temp;

​ ps:設定臨時檔案存放路徑。隻有當上傳的請求體超出緩存區大小時,才會寫到臨時檔案 中,注意臨時路徑要有寫入權限

配置設定:

​ 1)在http{ }中設定:client_max_body_size 20m;

​ 2)選擇在server{ }中設定:client_max_body_size 20m;

​ 3)選擇在location{ }中設定:client_max_body_size 20m;

​ 差別:http{} 中控制着所有nginx收到的請求;而封包大小限制設定在server{}中,則控制該 server收到的請求封包大小,同理,如果配置在location中,則封包大小限制,隻對匹 配了location 路由規則的請求生效。

  • http{}中輸入
    設定到http{}内,控制全局nginx所有請求封包大小
#配置用戶端請求體最大值
client_max_body_size 20M;
#配置請求體緩存區大小
client_body_buffer_size 10m;
           
  • server{}中輸入
    設定到server{}内,控制該server的所有請求封包大小
#配置用戶端請求體最大值
client_max_body_size 20M;
#配置請求體緩存區大小
client_body_buffer_size 10m;
           
  • location{}中輸入
    設定到location{}内,控制滿足該路由規則的請求封包大小
#配置用戶端請求體最大值
client_max_body_size 20M;
#配置請求體緩存區大小
client_body_buffer_size 10m;
           

繼續閱讀