The region information read nginx module Geoip

1 geoip_module module

Based on the IP address matches MaxMind GeolP binary file, read the IP geographic location information.

yum install nginx-module-geoip

geoip2 already have, find another installation

2, http_geoip_module use

A difference at home and abroad for HTTP access rule

Second, the difference between domestic urban region for HTTP access rule

Use the ip database

Link: https: //pan.baidu.com/s/1KcFhouFhP7jQOEZaZutMtw extraction code: okjp


vim nginx.conf
load_module modules/ngx_http_geoip_module.so;   #导入模块
load_module modules/ngx_stream_geoip_module.so;
​
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {
    worker_connections 1024;
}
http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;
​
    include /etc/nginx/conf.d/cp5/*.conf;
}
​

cat conf.d/cp5/test_geoip.conf
geoip_country /etc/nginx/geoip/GeoIP.dat;       #
geoip_city /etc/nginx/geoip/GeoLiteCity.dat;

# geoip_country /tmp/geoip/GeoLite2-Country/GeoLite2-Country.mmdb;
# geoip_city /tmp/geoip/GeoLite2-City/GeoLite2-City.mmdb;

server {
    listen       80;
    server_name  web01.fadewalk.com;​

    location / {
        if ($geoip_country_code != CN) {
            return 403;
        }
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }

   location /myip {
        default_type text/plain;
        return 200 "$remote_addr $geoip_country_name $geoip_country_code $geoip_city";
   }

}
 
 


test

b42ff37f-ea3b-49fd-9619-d71bae6126ef

Guess you like

Origin www.cnblogs.com/wenyule/p/11071800.html