如何解决 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抓紧创作!

微信微信 支付宝支付宝

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

使用声明:
1. 本站所有素材(未指定商用),仅限学习交流。
2. 会员在本站下载的VIP素材后,只拥有使用权,著作权归原作者及码云笔记网所有。
3. 原创商用和VIP素材,未经合法授权,请勿用于商业用途,会员不得以任何形式发布、传播、复制、转售该素材,否则一律封号处理。
4. 本平台织梦模板仅展示和个人非盈利用途,织梦系统商业用途请预先授权。
码云笔记 » 如何解决 Nginx 报 413 Request Entity Too Large错误?

发表回复

IT互联网行业相关广告投放 更专业 更精准

立即查看 联系我们