# Nginx教程 - 14 访问控制
访问控制就是控制哪些 IP 可以访问 Nginx 或者 哪些 IP 不能访问 Nginx。也就是所谓的白名单和黑名单。
进行访问控制,我们可以使用防火墙进行控制,防火墙控制是在 OSI 网络模型的第四层,也就是传输层。而 Nginx 的访问控制是在 OSI 模型的第七层,也就是在应用层进行控制。
下面介绍一下在 Nginx 中如何进行访问控制。
如果要设置哪个 IP 允许或禁止访问某个站点,可以在站点的 server
配置中,使用 deny
和 allow
进行配置。
举个栗子:
server {
listen 80;
server_name localhost;
deny 192.168.0.105; # 禁止该IP访问
deny 192.168.0.104; # 禁止该IP访问
allow 0.0.0.0/0; # 允许所有的IP访问
location / {
root /home/doubi/html_1;
index index.html;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
上面禁止了两个 IP 进行访问,允许其他所有的IP访问。
配置 IP 的时候可以指定 IP 的网段,例如 deny 192.168.0.0/24;
表示禁止从 192.168.0.1
到 192.168.0.254
。
还可以使用相反的配置,只允许指定的 IP 访问,禁止其他所有的 IP 访问:
server {
listen 80;
server_name localhost;
allow 192.168.0.105; # 允许该IP访问
allow 192.168.0.104; # 允许该IP访问
deny 0.0.0.0/0; # 禁止所有的IP访问
location / {
root /home/doubi/html_1;
index index.html;
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
被限制访问后,访问 Nginx 会返回 403 Forbidden
。
← 13-目录浏览功能 15-Nginx防盗链 →