V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
syuraking
V2EX  ›  NGINX

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

  •  
  •   syuraking · Apr 7, 2018 · 4846 views
    This topic created in 2947 days ago, the information mentioned may be changed or developed.
    具体的就是,这台国外的机器,我上面跑了一个代理程序,再用 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 replies    2018-04-08 17:57:14 +08:00
    Showfom
        1
    Showfom  
    PRO
       Apr 7, 2018
    geoip 明年就没法用了 建议现在就可以换成 geoip2 了

    https://github.com/leev/ngx_http_geoip2_module
    PressOne
        2
    PressOne  
       Apr 7, 2018
    @Showfom 兽总,geoip 和 geoip2 有什么区别啊?
    syuraking
        4
    syuraking  
    OP
       Apr 8, 2018
    @Showfom 换 GEO2 也是一样问题……
    使用本机代理来访问本机的网站,就被跳转…… nginx 记录的是真实 IP 地址……
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2508 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 08:40 · PVG 16:40 · LAX 01:40 · JFK 04:40
    ♥ Do have faith in what you're doing.