linux インストール geoip
yum install nginx-module-geoip
http_geoip_module 使用シナリオ
1. 国内と海外の http アクセス ルールの違い
2 、国内の都市と地域で http アクセス ルールを区別する
yum インストール後、インストールされたモジュール ファイルを見つけます
nginx が yun でインストールされている場合、通常は /etc/nginx/ にインストールされますmodules/ ディレクトリ
注: nginx が yum でインストールされておらず、ソース コードからコンパイルされてインストールされている場合は、nginx を再インストールしてコンパイルし、このモジュールを追加する必要があります。その後、このモジュールを手動で追加する必要はありません。
モジュールを手動で追加します
nginx.conf 構成ファイルのヘッダーにロードされるモジュールは、http
load_module "modules/ngx_http_geoip_module.so"; load_module "modules/ngx_stream_geoip_module.so";
と同じレベルにあります。 geoip は maxmind に基づいて、地域情報を読み取るためのデータベース ファイルが提供されているため、IP の地域ファイルをダウンロードする必要があります。
このデータベースはバイナリなのでテキスト エディタで開くことができません。読み取るには上記の geoip ライブラリが必要です。
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
次に、
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"; } .... } }
を解凍し、IP アドレス/myIP にアクセスして、IP が存在する国と都市の情報を返します。
以上がNginx および GeoIP モジュールが IP の地理情報を読み取る方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。