1
kurten 2015-03-16 09:50:27 +08:00
nginx有x-real-ip,把来路的ip地址直接发送给后端,后端可以直接用这个判断。
或者,前端nginx做location的规则判断也可以的。具体规则参看nginx的wiki。 |
2
ryd994 2015-03-16 10:04:27 +08:00
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header
proxy_set_header $remote_ip; 也可以用http_geo分流 |
3
ksupertu OP @kurten
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;已设置,我说明里写了不改代码~ |
4
ksupertu OP @ryd994 你所说的我已经设置了,利用Location规则误杀面太大,目前配置的规则就是allow 10.0.0.0/8;
allow 10.0.0.0/8; allow 172.16.0.0/12; allow 192.168.0.0/16; proxy_pass http://192.168.5.3:808; deny all; 想实现的是更精确的控制,原有系统在外网ip访问状况下会提示禁止访问 |
5
15ir 2015-03-16 13:06:41 +08:00
“如何优雅的...”
知乎的既视感。 |
8
ryd994 2015-03-16 21:12:33 +08:00 via Android
@ksupertu 那就只有加forwarded_for了
如果后面用的也是Nginx的话,就用realip恢复ip信息http://nginx.org/en/docs/http/ngx_http_realip_module.html |
9
billwang 2015-03-17 00:13:26 +08:00 via Android
貌似有内容访问管理系统,大概就是这个叫法吧,可以深度屏蔽用户访问内容,是一个硬件,当然就是个服务器安装了些软件。我这边上过这个东东,不过没有启用。
|