繁体   English   中英

Nginx文件上传错误-文件太大

[英]Nginx file upload error - too big file

我在centOS发行版上安装了Nginx。 一切都配置为可以上传文件了。

  • 在etc / php.ini中(不知道为什么在centos上此文件位于etc的根目录中,但可以正常工作)我有upload_max_filesize 60M, client_max_body_size 80M和post_max_size 80M。

其他文件(如nginx服务器配置)也具有这些上载指令。

但是当我上传一个1mb的文件时,nginx错误413请求实体太大。 我的Web应用程序显示服务器的文件限制为60mb,例如info.php文件。 我做了重新启动,nginx重新加载,重新启动,php重新加载。

我已经检查了stackoverflow和net上的所有内容以解决此问题,但没有任何帮助。

Nginx日志:Nginx显示用户正在尝试上传大于限制的文件。

我的info.php文件有一个pdf文件: http : //docdro.id/YAylJcO

您是否编辑过nginx.conf。 在服务器部分内添加client_max_body_size xxM ,其中xx是您要允许的大小(以兆字节为单位)。

默认情况下,nginx配置为允许客户端最大主体大小为1MB。 您上载的文件(〜8MB)大于1MB,这就是为什么返回413(请求实体太大)错误的原因。

要解决此问题,只需编辑nginx.conf并添加如下的client_max_body_size配置:

    ######################
    # HTTP server
    ######################
    server {
        ...
        listen       80;
        server_name  xxxx.com;
        client_max_body_size 20M;
        ...
    }

如果还配置了HTTPS,请确保在其中也添加client_max_body_size

    ######################
    # HTTPS server
    ######################
    server {
        ...
        listen       443 default_server ssl;
        server_name  xxxx.com;
        client_max_body_size 20M;
        ...
    }

重新加载您的服务器,你应该很好!

[服务器] $ sudo service nginx reload


有关client_max_body_size更多信息,请client_max_body_sizehttp : //nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size

语法:client_max_body_size size;

默认值:client_max_body_size 1m;

上下文:http,服务器,位置

设置客户端请求正文的最大允许大小,在“ Content-Length”请求标头字段中指定。 如果请求中的大小超过配置的值,则会向客户端返回413(请求实体太大)错误。 请注意,浏览器无法正确显示此错误。 将size设置为0将禁用对客户端请求主体大小的检查。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM