跳转至主要内容

善㊣学好

413 Request Entity Too Large nginx配置

睿诺
最后编辑于 2025年3月17日

413 Request Entity Too Large 错误表示客户端发送的请求实体(如文件上传)超过了服务器允许的大小限制。要解决这个问题,你需要在 Nginx 配置中调整 client_max_body_size 参数。

解决方法

  1. 修改 Nginx 配置文件
    打开 Nginx 的配置文件(通常是 /etc/nginx/nginx.conf/etc/nginx/conf.d/default.conf),找到 httpserverlocation 块,并添加或修改 client_max_body_size 参数。
   http {
       # 设置全局的最大请求体大小
       client_max_body_size 20M;
   }

   server {
       listen 80;
       server_name example.com;

       # 针对特定 server 块设置最大请求体大小
       client_max_body_size 20M;

       location /upload {
           # 针对特定 location 块设置最大请求体大小
           client_max_body_size 50M;
       }
   }
  • client_max_body_size 的值可以根据需要调整,例如 20M 表示 20MB,50M 表示 50MB。
  • 你可以将其设置在 httpserverlocation 块中,具体取决于你想要的应用范围。
  1. 重启 Nginx
    修改配置文件后,需要重启 Nginx 以使更改生效。
   sudo systemctl restart nginx

或者:

   sudo service nginx restart
  1. 检查其他限制
    如果你使用的是反向代理或其他中间件(如 PHP-FPM),还需要确保这些服务也有足够的上传限制。例如,在 PHP 中,你需要检查 upload_max_filesizepost_max_size 参数。
   ; php.ini 文件
   upload_max_filesize = 20M
   post_max_size = 20M
  1. 测试
    修改后,尝试重新上传文件,确认问题是否解决。

注意事项

  • 如果 client_max_body_size 设置为 0,则表示不限制请求体大小,但这可能会带来安全风险,建议根据实际需求设置合理的值。
  • 如果你使用的是 Docker 或其他容器化环境,确保在容器内的 Nginx 配置中也进行了相应的修改。

通过以上步骤,你应该能够解决 413 Request Entity Too Large 错误。

睿诺

IT足球,IT程式员,生活达人,成熟又不缺乏幽默的老男孩...

分类:

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注