Nginx 限制特定域名访问:使用 allow 和 deny 指令 (无需 if 语句)
可以使用 ngx_http_access_module 模块的 allow 和 deny 指令实现访问控制,如下所示:
- 在 nginx.conf 文件中添加以下内容:
http {
...
# 定义允许访问的 IP 地址段
geo $allowed_ips {
default 0;
192.168.1.0/24 1;
}
...
}
- 在 server 块中添加以下内容:
server {
...
# 定义需要限制访问的域名
server_name example.com;
...
# 访问控制
location / {
# 只允许 $allowed_ips 中定义的 IP 地址段访问
# $remote_addr 表示客户端 IP 地址
allow $allowed_ips;
deny all;
...
}
...
}
以上代码中,使用 geo 指令定义了一个变量 $allowed_ips,用于存储允许访问的 IP 地址段。在 server 块中,使用 server_name 指令定义了需要限制访问的域名,然后在 location 块中使用 allow 和 deny 指令来控制访问权限。 allow $allowed_ips 表示允许 $allowed_ips 中定义的 IP 地址访问, deny all 表示拒绝其他所有 IP 地址访问。
原文地址: http://www.cveoy.top/t/topic/nURw 著作权归作者所有。请勿转载和采集!