1. 程式人生 > 實用技巧 >Nginx 413 Request Too Large 錯誤

Nginx 413 Request Too Large 錯誤

今天公司後臺上傳圖片出現413 Request Too Large 錯誤,字面意思就是請求太大導致報錯

分析一下,因為後臺上傳圖片到 nginx 太大了超過預設值導致預設值

報錯如下:

Nginx中的 client_max_body_size 配置屬性

Syntax: client_max_body_size size; Default: client_max_body_size 1m; Context: http, server, location
設定客戶端請求正文的最大允許大小,在“Content-Length”請求標頭欄位中指定。如果請求中的大小超過配置的值,則會將413(請求實體太大)錯誤返回給客戶端請注意,瀏覽器無法正確顯示此錯誤。將大小設定為0將禁用檢查客戶端請求正文大小

client_max_body_size指令的預設值為1 MiB,它可以被設定在http,server和location語境如在大多數情況下,該指令在巢狀塊優先於祖先塊相同的指令

終於明白出現 413 狀態碼的原因是 nginxclient_max_body_size 預設值為1M

那麼我們只需要修改 client_max_body_size 預設值問題就可以迎刃而解

解決

在nginx.conf配置檔案裡修改

http 下新增

 http {

    client_max_body_size 50m;
    
}

http下新增nginx會全域性生效,實體大小限制為50M

server下新增

 server {

    client_max_body_size 50m;

}

server下新增只會生效在 server這個配置檔案下,實體大小限制為50M

location下新增

location /app {

    client_max_body_size 50m;

}

location下新增將此路由請求的實體大小限制為50M

重新載入或者啟動nginx

[root@Mike-VM-Node1 ~]# nginx -t
[root@Mike-VM-Node1 ~]# nginx -s reload
[root@Mike-VM-Node1 ~]# systemctl restart nginx

本文分享完畢,感謝支援點贊~~