如何解决 Nginx 报 413 Request Entity Too Large错误?
最近测试在测试系统上传功能的时候,上传 60M 的视频的时候,控制台显示报错 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 然后我们再上传就没问题啦。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
码云笔记 » 如何解决 Nginx 报 413 Request Entity Too Large错误?
码云笔记 » 如何解决 Nginx 报 413 Request Entity Too Large错误?