• 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

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

  • 相关阅读:
    css 修改滚动条
    target和currentTarget的区别
    css 绘制对话框三角符号
    sass/less/stylus css编译
    angular 国际化
    angularjs中展示富文本编辑器文本,向DOM中插入元素
    炫酷动画效果,小球洒落,树木开花,深林效果
    angular插件合集
    css3 倒影
    Promise简介
  • 原文地址:https://www.cnblogs.com/mike666/p/14132303.html
Copyright © 2020-2023  润新知