大魔包的技术分享

Nginx413错误处理:掌握修改上传文件大小限制技巧

Nginx413修改上传文件大小限制

client_max_body_size

客户端请求体(即上传文件)的最大允许大小

1MB

根据业务需求设定,如10M50M等。

client_body_buffer_size

用于存储客户端请求体缓冲区的大小

8k或16k

通常无需修改。上传文件大于此值时,会写入临时文件。

client_body_timeout

定义读取客户端请求体的超时时间

60秒

上传大文件或网络较慢时,可适当延长,如120s

client_body_temp_path

存储客户端请求体临时文件的目录

client_body_temp

确保该目录有足够空间和正确权限(如775)。

配置方法与步骤

  1. 找到配置文件
    Nginx的主配置文件通常是 nginx.conf,它可能位于 /etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf 等路径下。你也可以在 /etc/nginx/conf.d//etc/nginx/sites-available/ 目录下找到针对特定站点的配置文件。

  2. 设置指令作用域
    client_max_body_size 指令可以放在 httpserverlocation 块中,其作用范围也随之不同。

    • 全局设置(http块):对所有站点生效。

      http {
          client_max_body_size 10M;
          # ... 其他配置 ...
      }
    • 特定站点(server块):只对该虚拟主机生效。

      server {
          listen 80;
          server_name example.com;
          client_max_body_size 20M; # 此站点上限为20MB
          # ... 其他配置 ...
      }
    • 特定路径(location块):只对匹配的URL路径生效,非常适合为上传接口单独设置。

      server {
          listen 80;
          server_name example.com;
          
          location /upload {
              client_max_body_size 50M; # 上传路径上限为50MB
              # ... 其他上传相关配置 ...
          }
      }

资源下载

提示:如遇链接失效,请在评论区留言反馈