Home  >  Article  >  Operation and Maintenance  >  How Nginx and GeoIP modules read the geographical information of IP

How Nginx and GeoIP modules read the geographical information of IP

WBOY
WBOYforward
2023-05-14 15:10:061727browse

linux installation geoip

yum install nginx-module-geoip

http_geoip_module usage scenario

1. Difference between domestic and foreign http access rules

2 , Differentiate http access rules between domestic cities and regions

yum After installation, find the installed module file

If nginx is installed with yun, it is usually installed in the /etc/nginx/modules/ directory

Note: If nginx is not installed by yum but compiled and installed from source code, you need to re-install and compile nginx and add this module. Then there is no need to add this module manually.

Manually add the module

The module loaded in the header of the nginx.conf configuration file is at the same level as http

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_stream_geoip_module.so";

Because geoip is Based on maxmind, a database file is provided to read regional information, so you need to download the regional file of IP.

This database is binary and cannot be opened with a text editor. It requires the above geoip library to read.

wget http://geolite.maxmind.com/download/geoip/database/geolitecountry/geoip.dat.gz #国家的地域ip
wget http://geolite.maxmind.com/download/geoip/database/geolitecity.dat.gz  #城市的地域ip

Then decompress

load_module "modules/ngx_http_geoip_module.so";
load_module "modules/ngx_stream_geoip_module.so";

.......


http{
geoip_country /etc/nginx/geoip/geoip.dat; #加载国家ip
geoip_city /etc/nginx/geoip/geolitecity.dat; #加载城市ip

.........

 server
 {
 ......



 location / {
 #判断如果不是中国的就返回403;
 if ($geoip_country_code != cn) {
  return 403;
 }
 }
 #返回国家城市信息
 location /myip {
 default_type text/plain;
 return 200 "$remote_addr $geoip_country_name $geoip_country_code $geoip_city";
 }



....
 }
}

and then visit your ip address/myip to return the country and city information where the ip is located.

The above is the detailed content of How Nginx and GeoIP modules read the geographical information of IP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete