nginx 拦截指定ip访问指定 url
这里需要注意的是一定要用$http_x_forwarded_for 这个变量
upstream myapp1 { # 定义一个名为myapp1的服务器组
server backend1.example.com weight=5; # 添加一个服务器,并设置权重为5
server backend2.example.com; # 添加另一个服务器,权重默认为1
server backend3.example.com down; # 将此服务器标记为down,不参与负载均衡
server backup1.example.com backup; # 将此服务器作为备份服务器
}
location ^~ /api/ {
#10\.182\.(?!25\.|26\.)[0-9.]+
if ($http_x_forwarded_for ~ "^10\.182\.(25\.|26\.)[0-9.]+") {
# 如果是,返回403禁止访问
return 403;
}
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass myapp1;
}