如何解决 Nginx 报 413 Request Entity Too Large错误?

最近测试在测试系统上传功能的时候,上传 60M 的视频的时候,控制台显示报错 nginx: 413 Request Entity Too Large,如下图:

如何解决 Nginx 报 413 Request Entity Too Large 错误?

经过排查发现是 nginx 配置的问题,报错原因是 nginx 不允许上传配置过大的文件,所以直接修改一下 nginx 配置大小即可。

1、打开 nginx 主配置文件 nginx.conf, 找到 http{}段并修改以下内容:

http {
    include       mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 100m;
    limit_conn_zone $binary_remote_addr zone=one:32k;
    sendfile        on;
    tcp_nopush     on;
    keepalive_timeout  60;
    tcp_nodelay on;
    gzip  on;
    gzip_min_length  1k;
    gzip_buffers     4 16k;
    gzip_http_version 1.0;
    gzip_comp_level 2;
    gzip_types       text/plain application/x-javascript text/css application/xml;
    gzip_vary on;
    log_format  wwwlogs  '$remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $http_x_forwarded_for';
    #include default.conf;
    include vhost/*.conf;
}

找到 client_max_body_size 100m;

当中的 100 修改成你需要的允许文件大小即可。

2、修改后,测试 nginx 配置是否正确

重启 nginx,因为我们的项目是以 php 运行的,这个大小client_max_body_size要和 php.ini 中的如下值的最大值差不多或者稍大,这样就不会因为提交数据大小不一致出现错误。

post_max_size = 100M

upload_max_filesize = 100M

当中的 100M 修改成你需要的允许文件大小,把当中的 100M 修改成你第一步设置的大小。

修改完 php.ini 文件后 重启一下 php 然后我们再上传就没问题啦。

「点点赞赏,手留余香」

0

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 如何解决 Nginx 报 413 Request Entity Too Large错误?

发表回复