V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
syuraking
V2EX  ›  NGINX

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

  •  
  •   syuraking · 2018-04-07 18:32:06 +08:00 · 3827 次点击
    这是一个创建于 2182 天前的主题,其中的信息可能已经有所发展或是发生改变。
    具体的就是,这台国外的机器,我上面跑了一个代理程序,再用 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 地址。

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

    https://github.com/leev/ngx_http_geoip2_module
    PressOne
        2
    PressOne  
       2018-04-07 19:20:04 +08:00
    @Showfom 兽总,geoip 和 geoip2 有什么区别啊?
    Showfom
        3
    Showfom  
       2018-04-07 22:22:16 +08:00   ❤️ 1
    syuraking
        4
    syuraking  
    OP
       2018-04-08 17:57:14 +08:00
    @Showfom 换 GEO2 也是一样问题……
    使用本机代理来访问本机的网站,就被跳转…… nginx 记录的是真实 IP 地址……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5893 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 02:29 · PVG 10:29 · LAX 19:29 · JFK 22:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.