• Nginx 413 Request Too Large 错误


    今天公司后台上传图片出现  413 Request Too Large 错误,字面意思就是请求太大导致报错

    分析一下,因为后台上传图片到 nginx 太大了超过默认值导致默认值

    报错如下:

    Nginx中的 client_max_body_size 配置属性

    Syntax: client_max_body_size size; Default: client_max_body_size 1m; Context: http, server, location
    设置客户端请求正文的最大允许大小,在“Content-Length”请求标头字段中指定。如果请求中的大小超过配置的值,则会将413(请求实体太大)错误返回给客户端请注意,浏览器无法正确显示此错误。将大小设置为0将禁用检查客户端请求正文大小

    client_max_body_size指令的默认值为1 MiB,它可以被设置在http,server和location语境如在大多数情况下,该指令在嵌套块优先于祖先块相同的指令

    终于明白出现 413 状态码的原因是 nginx client_max_body_size 默认值为1M

    那么我们只需要修改 client_max_body_size 默认值问题就可以迎刃而解

    解决

    在nginx.conf配置文件里修改,只需要在对应的头部添加就可以

    如果你想全局 nginx 生效就在 http 头部加,你只想一个域名生效就在server里面添加,只想一个路径生效就在location加

    http 下添加

     http {
    
        client_max_body_size 50m;
        
    }

    http下添加nginx会全局生效,实体大小限制为50M

    server下添加

     server {
    
        client_max_body_size 50m;
    
    }

    server下添加只会生效在 server这个配置文件下,实体大小限制为50M

    location下添加

    location /app {
    
        client_max_body_size 50m;
    
    }

    location下添加将此路由请求的实体大小限制为50M

    重新加载或者启动nginx

    [root@Mike-VM-Node1 ~]# nginx -t
    [root@Mike-VM-Node1 ~]# nginx -s reload
    [root@Mike-VM-Node1 ~]# systemctl restart nginx

    本文分享完毕,感谢支持点赞~~

  • 相关阅读:
    安装VMtools vim编辑器的使用 压缩包命令 Linux下的用户管理 (第三天)
    VM虚拟机安装 常用Linux命令 网卡配置 (第二天)
    数据库的交互模式 常用的dos命令 (第一天)
    Validate US Telephone Numbers FreeCodeCamp
    Arguments Optional FreeCodeCamp
    Everything Be True FreeCodeCamp
    Binary Agents FreeCodeCamp
    Steamroller FreeCodeCamp
    Drop it FreeCodeCamp
    Smallest Common Multiple FreeCodeCamp
  • 原文地址:https://www.cnblogs.com/mike666/p/14132303.html
Copyright © 2020-2023  润新知