侧边栏壁纸
博主头像
张种恩的技术小栈博主等级

行动起来,活在当下

  • 累计撰写 748 篇文章
  • 累计创建 65 个标签
  • 累计收到 39 条评论

目 录CONTENT

文章目录

Nginx(15)之客户端请求限定

zze
zze
2020-03-14 / 0 评论 / 0 点赞 / 628 阅读 / 1728 字

不定期更新相关视频,抖音点击左上角加号后扫一扫右方侧边栏二维码关注我~正在更新《Shell其实很简单》系列

限定 HTTP 请求方法

limit_except 指令可对客户端的请求方法做限制,其使用规则如下:

语法: limit_except method ... { ... }
默认: —
可使用的上下文: location

该指令的含义是对method 之外的请求方法做限制,可指定多个 method,以空格隔开。

method 参数可以是以下之一:GETHEADPOSTPUTDELETEMKCOLCOPYMOVEOPTIONSPROPFINDPROPPATCHLOCKUNLOCKPATCH

要注意的一点是,允许 GET 方法会使 HEAD 方法也被允许。


看个例子,配置如下虚拟主机:

server {
    listen 80;

    location / {
        limit_except GET POST {
            allow 10.0.1.0/24;
            deny all;
        }
        return 200 'OK';
    }
}

该示例含义如下:

  • GETPOST 请求不做限制;
  • 仅允许 10.0.1.0/24 网段的主机发送除 GETPOST 以外的请求;

限定响应传输速率

limit_rate 指令可用来限制向客户端传输响应内容的速率,该速率以每秒字节数指定,零值表示禁用速率限制。其使用规则如下:

语法: limit_rate rate;
默认: limit_rate 0;
可使用的上下文: http, server, location, if in location

该限制是根据请求设置的,因此,如果客户端同时打开两个连接,则总速率可是指定限制的两倍。

限定请求体大小

client_max_body_size 指令可限制请求报文中 body 部分的上限,主要通过检测请求报文首部中的 Content_Length 来判定。其使用规则如下:

语法: client_max_body_size size;
默认: client_max_body_size 1m;
默认的上下文: http, server, location

如果请求体的大小超过配置的值,则会向客户端返回 413(请求实体太大)错误码。
设置为 0 将禁用对客户端请求主体大小的检查。

0

评论区