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 狀態碼的原因是 nginx client_max_body_size 默認值為1M

那么我們只需要修改 client_max_body_size 默認值問題就可以迎刃而解

 

解決

在nginx.conf配置文件里修改,只需要在對應的頭部添加就可以

如果你想全局 nginx 生效就在 http 頭部加,你只想一個域名生效就在server里面添加,只想一個路徑生效就在location加

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

 

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM