nginx:geoip

Nginx GEOIP

Иногда может понадобиться вариант, когда нужно проводить маршрутизацию запросов веб-приложения в зависимости от местоположения (или языка) пользователя. Тут нам на помощь придёт модуль nginx HttpGeoIPModule. Устанока будет производиться на Nginx +php5_fpm (и у меня уже есть его конфиг).

/etc/nginx/nginx.conf

http {
....
    # GeoIP
    geoip_country  /usr/share/GeoIP/GeoIP.dat; # the country IP database
    geoip_city     /usr/share/GeoIP/GeoLiteCity.dat; # the city IP database
..
}

/etc/nginx/fastcgi_params

# For GeoIP
fastcgi_param GEOIP_COUNTRY_CODE   $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_NAME 	$geoip_country_name;
fastcgi_param GEOIP_REGION		$geoip_region;
fastcgi_param GEOIP_CITY		$geoip_city;
fastcgi_param GEOIP_POSTAL_CODE 	$geoip_postal_code;
fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code;
fastcgi_param GEOIP_LATITUDE    	$geoip_latitude;
fastcgi_param GEOIP_LONGITUDE		$geoip_longitude;

Теперь в массиве $_SERVER доступны данные геолокации с префиксом «GEOIP_».

Подробнее: http://nginx.org/ru/docs/http/ngx_http_geoip_module.html

  • nginx/geoip.txt
  • Последнее изменение: 2012/07/28 01:47
  • (внешнее изменение)