本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名原文链接~~~

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

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:


限定 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 将禁用对客户端请求主体大小的检查。

# Nginx  

如果这篇文章对您有帮助,可点击下方链接分享给你的朋友们😋,如果遇到问题欢迎评论、留言~~~😇

评论

公众号:zze_coding

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×