今天公司后台上傳圖片出現 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
本文分享完畢,感謝支持點贊~~