Get Started With IP2location Nginx Module

Dependencies

This module requires IP2Location BIN database to function. You may download the BIN database at


Installation

  1. Download IP2location C library from here.

  2. Compile and install IP2Location C library.

  3. Download IP2Location module and decompress the package.

    wget https://github.com/ip2location/ip2location-nginx/archive/master.zip
    unzip master.zip
    rm master.zip
    
  4. Download the latest Nginx source code from here.

    wget https://nginx.org/download/nginx-x.y.z.tar.gz
    
  5. Decompress and go into Nginx source directory.

    tar xvfz nginx-x.y.z.tar.gz
    cd nginx-x.y.z
    
  6. Re-compile Nginx from source to include this module.

    Static Module

    ./configure --add-module=/absolute/path/to/nginx-ip2location-master
    make
    make install
    

    Dynamic Module

    ./configure --add-dynamic-module=/absolute/path/to/nginx-ip2location-master
    make
    make install
    
  7. Edit your Nginx config file (nginx.conf), add the following lines under `http` context:

    http {
    	...
    	
    	ip2location_database		/usr/share/ip2location/DB6.BIN;
    	ip2location_proxy_recursive	on;
    	ip2location_proxy		192.168.1.0/24;
    }
    

Sample Codes

Block single country

if ( $ip2location_country_short = 'US' ) {
    return 444;
}

Block mutiple countries

map $ip2location_country_short $blacklist_country {
	default no;
	AU yes;
	IN yes;
	NG yes;
}

server {
    ...
        
	if ( $blacklist_country = yes ) {
		return 444;
	}
}

Redirect visitors from Canada, United States, and Mexico to new page

if ( $ip2location_country_short ~* "CA|US|MX" ) {
	rewrite ^ http://example.com/newpage.html permanent;
}

IP2Location Sample Database (BIN)

Sample Packages - BIN File IPv4 IPv6
IP2Location DB1 Download (1,001.91 kB) Download (1.04 MB)
IP2Location DB2 Download (24.58 MB) Download (25.22 MB)
IP2Location DB3 Download (21.21 MB) Download (21.32 MB)
IP2Location DB4 Download (43.89 MB) Download (44.04 MB)
IP2Location DB5 Download (31.89 MB) Download (32.05 MB)
IP2Location DB6 Download (54.08 MB) Download (54.26 MB)
IP2Location DB7 Download (48.70 MB) Download (48.88 MB)
IP2Location DB8 Download (59.17 MB) Download (59.37 MB)
IP2Location DB9 Download (36.78 MB) Download (36.95 MB)
IP2Location DB10 Download (64.62 MB) Download (64.89 MB)
IP2Location DB11 Download (37.51 MB) Download (37.69 MB)
IP2Location DB12 Download (65.32 MB) Download (65.55 MB)
IP2Location DB13 Download (35.03 MB) Download (35.21 MB)
IP2Location DB14 Download (66.55 MB) Download (66.80 MB)
IP2Location DB15 Download (40.72 MB) Download (40.96 MB)
IP2Location DB16 Download (70.89 MB) Download (71.18 MB)
IP2Location DB17 Download (42.47 MB) Download (42.69 MB)
IP2Location DB18 Download (78.33 MB) Download (78.61 MB)
IP2Location DB19 Download (61.85 MB) Download (62.09 MB)
IP2Location DB20 Download (80.79 MB) Download (81.12 MB)
IP2Location DB21 Download (44.39 MB) Download (44.56 MB)
IP2Location DB22 Download (84.78 MB) Download (85.22 MB)
IP2Location DB23 Download (62.33 MB) Download (62.51 MB)
IP2Location DB24 Download (85.90 MB) Download (86.40 MB)
IP2Location DB25 Download (87.92 MB) Download (88.33 MB)
IP2Location DB26 Download (94.51 MB) Download (95.09 MB)

Articles & Tutorials