Nginx根据用户ip返回对应地区语言

1 Nginx 编译进 geoip2 模块后更改主配置 http 部分 (geoip2 比geoip 更优秀)

    #Nginx 编译进geoip模块后在主配置http内添加
    #开启CDN后获取访客真实IP地址
    set_real_ip_from 0.0.0.0/0;
    real_ip_header X-Forwarded-For;
    ## GEOIP2 国家
    geoip2 /usr/share/GeoIP/GeoLite2-Country.mmdb {
          $geoip2_Country_code country iso_code;
    }
    ## GEOIP2 城市 
    geoip2 /usr/share/GeoIP/GeoLite2-City.mmdb {
          $geoip2_City_code country iso_code;
    }
    # 好单独为 城市级别 单独设置

2 域名的nginx 配置内添加负载均衡配置

upstream ben {
    ip_hash;
    server 1.1.1.1 weight=1 max_fails=2 fail_timeout=2s;
    server 2.2.2.2 weight=2 max_fails=2 fail_timeout=2s;
    server 3.3.3.3 weight=2 max_fails=2 fail_timeout=2s;
}

3 伪静态内写 ip 地区转化对应语言逻辑

4 然后前端就能感觉到用户语言 lang 了

Last updated