nginx的黑白名单配置
在Nginx中,可以使用ngx_http_access_module模块来配置黑白名单。
具体配置步骤如下:
- 打开Nginx配置文件,在
http块中添加以下代码:
http {
...
# 定义黑名单
geo $blacklist {
default 0;
# IP地址或CIDR格式的网段
10.0.0.0/24 1;
192.168.1.0/24 1;
}
# 定义白名单
geo $whitelist {
default 0;
127.0.0.1 1;
192.168.0.0/16 1;
}
# 检查黑名单和白名单
server {
...
location / {
# 检查黑名单,如果匹配到则拒绝访问
if ($blacklist = 1) {
return 403;
}
# 检查白名单,如果未匹配到则拒绝访问
if ($whitelist = 0) {
return 403;
}
# 其他配置
...
}
}
...
}
-
在
geo块中定义黑名单和白名单。geo指令后的变量名称可以自定义,这里分别定义为$blacklist和$whitelist。在default指令后,可以设置默认值,这里设置为0。 -
在
server块中的location /中,使用if指令检查黑名单和白名单。如果黑名单匹配到,则返回403禁止访问;如果白名单未匹配到,则返回403禁止访问;否则,可以继续访问。
注意事项:
- 使用黑名单和白名单时,建议将匹配规则细化到具体的IP地址或CIDR格式的网段,以避免误拦截或误放行。
- 在配置文件修改后,需重启Nginx服务使配置生效
原文地址: https://www.cveoy.top/t/topic/inr7 著作权归作者所有。请勿转载和采集!