Nginx出现413 Request Entity Too Large错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx出现413 Request Entity Too Large错误相关的知识,希望对你有一定的参考价值。

一. 问题出现

使用phpMyAdmin管理mysql数据,使用图形界面导入sql语句时报错,报错内容如下:

技术分享图片

二. 问题原因

出现了413错误,413错误是因为用户请求body的数据大于设置的值。用户请求的body的值可用Content-Length看到

技术分享图片

可以看到请求的body大小大于6M,通过查看nginx官网可知默认request body为1M,而设置request body的参数为client_max_body_size

三. 解决问题的方法

修改client_max_body_size,此参数的用法为:

Syntax:     client_max_body_size size;
Default:  client_max_body_size 1m;
Context:    http, server, location

Sets the maximum allowed size of the client request body, specified in the “Content-Length” request header field. If the size in a request exceeds the configured value, the 413 (Request Entity Too Large) error is returned to the client. Please be aware that browsers cannot correctly display this error. Setting size to 0 disables checking of client request body size. 

nginx配置文件修改:

    location /phpMyAdmin {
        root /opt;
        client_max_body_size 10m;
        index index.php;
        location ~ \.php$ {
            fastcgi_index index.php;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }

四. 参考资料

Nginx client_max_body_size的使用方法:http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

以上是关于Nginx出现413 Request Entity Too Large错误的主要内容,如果未能解决你的问题,请参考以下文章

Nginx出现413 Request Entity Too Large错误解决方法

Nginx出现413 Request Entity Too Large错误解决方法

nginx 出现413 Request Entity Too Large问题的解决方法

Nginx出现413 Request Entity Too Large错误

nginx 出现413 Request Entity Too Large问题的解决方法

解决 nginx 出现 413 Request Entity Too Large 的问题