在 Nginx 中配置 IP 白名单是一种常见的安全措施,允许只有特定的 IP 地址访问某些资源或整个站点。以下是配置白名单的基本步骤:
1. 配置在 server
块中
如果你希望对整个服务器(域名)进行 IP 白名单配置,可以在 server
块中进行配置:
server {
listen 80;
server_name yourdomain.com;
# 设置允许访问的 IP 白名单
allow 192.168.1.1; # 允许单个 IP 访问
allow 192.168.1.0/24; # 允许整个 IP 段访问
deny all; # 拒绝所有其他 IP 访问
location / {
# 你的其他配置
}
}
2. 配置在 location
块中
如果你只希望限制某个路径的访问,可以在 location
块中进行配置:
server { listen 80; server_name yourdomain.com; location /admin { # 设置允许访问的 IP 白名单 allow 192.168.1.1; # 允许单个 IP 访问 allow 192.168.1.0/24; # 允许整个 IP 段访问 deny all; # 拒绝所有其他 IP 访问 # 你的其他配置 } location / { # 不受限制的访问 } }
3. 配置多个白名单 IP
你可以配置多个 allow
指令来允许多个 IP 地址访问:
server { listen 80; server_name yourdomain.com; location / { allow 192.168.1.1; allow 203.0.113.0/24; allow 10.0.0.0/8; deny all; # 你的其他配置 } }
4. 特定的子路径限制
你还可以对某些子路径设置不同的白名单策略。例如,限制 /admin
路径的访问,但开放其他路径:
server { listen 80; server_name yourdomain.com; location /admin { allow 192.168.1.100; deny all; # 其他 admin 路径配置 } location / { # 其他路径不受 IP 限制 } }
5. 测试配置
完成配置后,使用以下命令测试你的 Nginx 配置是否正确:
nginx -t
如果没有错误,重新加载 Nginx 以应用配置:
nginx -s reload
通过这些配置,你可以有效控制哪些 IP 地址可以访问你的站点或特定的路径。