基础-限制请求连接数
2019-04-29 本文已影响0人
mick_
查看连接数
location /status {
stub_status on;
}
http连接与请求.png
一个连接可以建立多个请求,通常情况下,客户端的多次请求都是使用一个连接,即一次连接多次请求
连接数限制
连接频率的限制 limit_conn_module
语法示例
Syntax:limit_conn_zone key zone=name:size;
Default: -
Context: http
Syntax: limit_conn zone number;
Default: -
Context: http,server,location;
配置示例
limit_conn_zone $binary_remote_addr zone=conn_zone:1m;
server {
listen 80;
server_name localhost;
location / {
limit_conn conn_zone 1;
root html;
}
}
请求数限制
请求频率的限制 limit_req_module
语法示例
Syntax:limit_req_zone key zone=name:size rate=rate;
Default: -
Context: http
Syntax: limit_req zone=name number;
Default: -
Context: http,server,location;
配置示例
limit_req_zone $binary_remote_addr zone=req_zone:1m rate=10r/s;
server {
listen 80;
server_name localhost;
location / {
limit_req zone=req_zone;
}
}
访问控制
基于IP的访问控制 http_access_module
基于用户的信任登录 http_auth_basic_module
基于IP的访问控制
语法
Syntax: allow address | CIDR | unix | all;
Default: -
Context:http,server,location,limit_except
Syntax: allow address | CIDR | unix | all;
Default: -
Context:http,server,location,limit_except
配置示例
deny与allow一般都是成对出现,且互反
server {
deny 119.57.248.66;
allow all;
}
server {
allow 119.57.248.66;
deny all;
}
remote_addr捕获的是当前请求的ip,负载均衡或代理则受限
access的局限性.png
http_x_forwarded_for
注意事项.png
http_x_forwarded_for = Client Ip,Proxy(1) Ip,Proxy(2) Ip ....