Maison  >  Article  >  Opération et maintenance  >  Comment les modules Nginx et GeoIP lisent les informations géographiques de l'IP

Comment les modules Nginx et GeoIP lisent les informations géographiques de l'IP

WBOY
WBOYavant
2023-05-14 15:10:061729parcourir

linux installation geoip

yum install nginx-module-geoip

http_geoip_module scénarios d'utilisation

1. Différences entre le national et l'étranger Règles d'accès http

2. Différentes régions de la ville nationale pour les règles d'accès http

yum Après l'installation, recherchez le fichier du module installé

Si nginx utilise yun L'installation se fait généralement dans le répertoire /etc/nginx/modules/

Remarque : si nginx n'est pas installé par yum mais compilé et installé à partir du code source, vous devez réinstaller et compiler nginx et ajouter ceci module, puis il n'est pas nécessaire d'ajouter ce module manuellement.

Ajouter manuellement le module

Le module chargé en tête du fichier de configuration nginx.conf est au même niveau que http#🎜 🎜#

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

Parce que geoip est basé sur maxmind et fournit un fichier de base de données pour lire les informations régionales, vous devez télécharger le fichier ip régional.

Cette base de données est binaire et ne peut pas être ouverte avec un éditeur de texte. Elle nécessite la bibliothèque geoip ci-dessus pour être lue.

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

Ensuite, décompressez

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";
 }



....
 }
}

, puis visitez votre adresse IP/myip pour renvoyer les informations sur le pays et la ville où se trouve l'adresse IP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer