按方法名限制请求
limit_except
limit_except method...{...}
method
可取值:
-
GET
:用于请求指定的资源。 -
POST
:向指定资源提交数据进行处理请求。 -
PUT
:用于向服务器上传文件。 -
DELETE
:请求服务器删除指定的资源。 -
HEAD
:类似于GET
请求,但只返回请求的头部信息而不返回实体的主体部分。 -
OPTIONS
:用于获取目标资源所支持的通信选项。 -
PATCH
:用于对资源进行部分修改。
配置块:location
Example
location /example { limit_except GET POST { deny all; } }
在这个例子中,limit_except GET POST
意味着只有 GET
和 POST
请求方法会被允许,而其他所有的请求方法都会被拒绝。在 limit_except
块中,你可以使用不同的指令来控制对这些方法的访问,比如 allow
、deny
等。
请求包体限制
client_max_body_size
client_max_body_size size;
设置请求包体的最大值,当 Content-Length 超过这个值时,直接发送 413 响应给客户端。
默认:1m
配置块:http、server、location
请求限速
limit_rate
limit_rate speed;
客户端请求限制每秒传输的字节数,0 为不限速。
默认:0
配置块:http、server、location
limit_rate_after
limit_rate_after time;
Nginx 向客户端发送的响应长度超过 limit_rate_after
后才开始限速。
默认:1m
配置块:http、server、location