Http3rdPartyGeoIPModule
Contents |
[edit] Synopsis
This module has been replaced by the official NginxHttpGeoIPModule since Nginx 0.7.63/0.8.6.
Please use this module only for Nginx 0.7.62 or earlier.
The Nginx GeoIP module is based on the original Geo module, the difference being that it is not being controlled by a piece of config, but makes use of the MaxMind GeoIP binary API natively. It provides for fast lookups from both the binary GeoLite Country and GeoIP Country databases.
One of the advantages to use the binary databases and API is getting automated updates from MaxMind through the geoipupdate utility. This is also the reason why SPIL GAMES wrote this module.
Example usage:
geoip_country_file /absolute/path/to/GeoIP.dat; location /geoip/ { rewrite .* /?country=$geoip_country_code; }
[edit] Directives
[edit] geoip_country_file
syntax: geoip_country_file path
default: n/a
context: http
Enables resolving of $geoip_country_* variables documented below.
[edit] Variables
For now the following variables are supported:
$geoip_country_code
, this variable contains the alpha-2 country code as resolved by the GeoIP country API.
$geoip_country_code3
, this variable contains the alpha-3 country code as resolved by the GeoIP country API.
$geoip_country_name
, this variable contains the country name as resolved by the GeoIP country API.
[edit] Installation
To install, download the source tarball ( File:Nginx-geoip-0.2.tar.gz ), expand it, and then compile nginx with the following option:
- . --add-module=/path/to/nginx-geoip-0.2
Please make sure to have the GeoIP C API installed and in your system library paths.
[edit] TODO
- Allow control of memory caching options (fixed to GEOIP_MEMORY_CACHE | GEOIP_CHECK_CACHE for now)
- Add support for GeoIP City databases?
[edit] Bugs
Please report bugs to matthijs AT SPAMFREE spilgames DOT com.