最近一个项目需要对某个URI做访问控制 只允许内网IP访问 我们的构架是前端两台nginx做负载均衡 反向代理 把请求放松给后端的nginx
开始尝试是直接在前端的两台nginx上配置 试了好多次没成功 当时的配置是
1
2
3
4
5
6
7
8
9
|
location ~ ^/admin/?$ {
allow someips;
deny all;
}
location / {
proxy_pass xxx:xx;
# 此处省去2W字
}
|
哎 怪自己对nginx配置理解少 这样的结果是 即使IP在allow中 访问也会失败 因为前端的nginx会报‘找不到admin页面’ 其实这里如果把 location / 里面的内容粘贴一下 就可以了 后话了啊
今天醒了 突然想起这事 感觉不爽啊 怎么就配置不成功呢 哎 果断开VPN google走起 最后找到了这篇博文 还是在后端的nginx配置里面改
1
2
3
4
5
6
7
|
location ~ ^/admin/?$ {
set_real_ip_from intranetip;
real_ip_header X-Forwarded-For;
allow minoronly_ips.conf;
proxy_pass xxx:xxx;
# 省去2W字
}
|
o了 这样的话 只有minoronly_ips.conf中定义的IP才可以访问admin这个页面
(责任编辑:IT) |