同机代理访问 nginx 使用 geoip 时的问题
- 0次
- 2021-05-21 00:11:14
- idczone
具体的就是,这台国外的机器,我上面跑了一个代理程序,再用 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 地址。
想询问下如何解决这个问题,谢谢。
geoip 明年就没法用了 建议现在就可以换成 geoip2 了
https://github.com/leev/ngx_http_geoip2_module
兽总,geoip 和 geoip2 有什么区别啊?
https://dev.maxmind.com/geoip/geoip2/whats-new-in-geoip2/
换 GEO2 也是一样问题……
使用本机代理来访问本机的网站,就被跳转…… nginx 记录的是真实 IP 地址……