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/p5pK 著作权归作者所有。请勿转载和采集!