同机代理访问 nginx 使用 geoip 时的问题

2018-04-07 18:32:06 +08:00
 syuraking
具体的就是,这台国外的机器,我上面跑了一个代理程序,再用 nginx 弄了一个网站使用 geoip 按访问 IP 的地区(主要是跳掉中国大陆的 IP)来进行跳转,结果出现以下问题:

我国内 IP 挂这个机器代理来访问这网站时,就被跳转走了,而用不是这同机器的代理就没有任何问题。

部分配置:
nginx.conf:
http
{
......
geoip_country /usr/local/nginx/conf/geoip/GeoIP.dat;
geoip_city /usr/local/nginx/conf/geoip/GeoLiteCity.dat;

fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
......
}

网站的配置文件判定部分:
vhost.conf
server
{
......
if ( $geoip_country_code ~ ^(?:CN)$ )
{
rewrite ^(.*) https://www.baidu.com/ break;
}
......
}

补上,nginx 的访问日志中$remote_addr[$geoip_country_code,$geoip_city] 记录的是我的国内 IP 地址。

想询问下如何解决这个问题,谢谢。
3867 次点击
所在节点    NGINX
4 条回复
Showfom
2018-04-07 18:44:44 +08:00
geoip 明年就没法用了 建议现在就可以换成 geoip2 了

https://github.com/leev/ngx_http_geoip2_module
PressOne
2018-04-07 19:20:04 +08:00
@Showfom 兽总,geoip 和 geoip2 有什么区别啊?
Showfom
2018-04-07 22:22:16 +08:00
syuraking
2018-04-08 17:57:14 +08:00
@Showfom 换 GEO2 也是一样问题……
使用本机代理来访问本机的网站,就被跳转…… nginx 记录的是真实 IP 地址……

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444886

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX