ngx_http_access_module
控制访问权限,根据条件允许或拒绝特定客户端的请求,可以快速实现ip黑白名单功能。
指令
名称 | 参数类型 | 默认值 | 作用描述 | 上下文 |
---|---|---|---|---|
allow | address / CIDR / unix: / all | - | 允许特定的网络地址或Unix域套接字访问 | http, server, location, limit_except |
deny | address / CIDR / unix: / all | - | 拒绝特定的网络地址或Unix域套接字访问 | http, server, location, limit_except |
提示
CIDR(Classless Inter-Domain Routing)是一种用于表示 IP 地址和掩码的标准化方法,它允许更灵活地划分 IP 地址空间。 CIDR 地址由 IP 地址和一个后缀表示的掩码位数组成,形如 IP地址/掩码位数。
示例
nginx
http {
allow all;
deny 192.168.1.0/24;
server {
listen 8080;
server_name localhost;
# ipv6
allow 2001:0db8::/32;
# 拒绝单个ip
deny 192.168.1.5;
location /api {
# 仅允许 5网段访问
allow 192.168.5.0/24;
# 其他都拒绝
deny all;
proxy_pass http://localhost:8000;
}
location / {
root html;
index index.html index.htm;
}
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27