NGNX、アルパインLinuxとDockerを使っているあなたのウェブサイトにアクセスすることからのブロック特定の国
5081 ワード
このポストは、あなたのウェブサイトを使用することから特定の国をブロックするためにNanoxをNanoxに設定する方法を簡単に説明します.また、チェックアウトすることができますthis GitHub repository 完全な例です.
nginx geoipモジュールのインストール
モジュールをインストールするには、次の手順を実行します.
GeoIPデータベースのダウンロード
GeoIPデータベースは、最近のフォーマットを
があるways of converting from mmdb to dat しかし、幸運にもユーザーprovides download of pre-converted files , そこで、そこから最新バージョンをダウンロードすることができます.
国のデータベースをダウンロードし、それを展開し、パスに入れて
nginxの変更conf
変更する
内部
また、アルバニアとバハマをリストする例から国コードのリストを変更する必要があります.すべての国コードを見つけることができますon this site .
インサイド
Dockerセットアップ
また、完全なDockerの例を見ることができますin this repository .
注意/確認 https://www.howtoforge.com/nginx-how-to-block-visitors-by-country-with-the-geoip-module-debian-ubuntu
写真でdelfi de la Rua on Unsplash
nginx geoipモジュールのインストール
モジュールをインストールするには、次の手順を実行します.
apk --no-cache add nginx-mod-http-geoip
注意してくださいthe old GeoIP module , not the paid-for GeoIP2 one that requires Nginx Plus .GeoIPデータベースのダウンロード
GeoIPデータベースは、最近のフォーマットを
mmdb
GeoIPモジュールがまだレガシーを使用している間dat
形式.があるways of converting from mmdb to dat しかし、幸運にもユーザーprovides download of pre-converted files , そこで、そこから最新バージョンをダウンロードすることができます.
国のデータベースをダウンロードし、それを展開し、パスに入れて
/usr/share/GeoIPCountry.dat
nginxの変更conf
変更する
nginx.conf
ファイルを追加し、次のように追加します.内部
http
ブロックを追加しますgeoip_country /usr/share/GeoIPCountry.dat;
# Allowed proxy addresses
geoip_proxy 10.0.0.0/8;
geoip_proxy 172.17.0.1/16;
# List of disallowed countries
map $geoip_country_code $allowed_country {
default yes;
AL no;
BS no;
}
あなたが必要とするgeoip_proxy
エントリーは、あなたが逆プロキシ/ロードバランサの前でNGinxを使用している場合だけ(AWS ALBのような).ここに含まれる範囲については、nginxはX-Forwarded-For
ヘッダは、要求に由来するIPに対して.このような設定を持っていない場合は、これらの行を削除することができます.また、アルバニアとバハマをリストする例から国コードのリストを変更する必要があります.すべての国コードを見つけることができますon this site .
インサイド
server
サイトのブロックを次に示します.# Add Country header for debugging
add_header X-Cntry "$geoip_country_code";
if ($allowed_country = no) {
return 444;
}
IPがブロックされた国のうちの1つに属しているならば、これは内容を返さないことによってIPアドレスを妨げます.また、ヘッダX-Cntry
国コードを使用すると、すべてが正しく動作することを確認できるように.例えば、今できるcurl
サーバーを使用して、このコマンドを使用して国コードを参照してくださいcurl https://your-site.com --HEAD --silent | grep -i X-Cntry
結果は次のようになります.X-Cntry: SE
Dockerセットアップ
また、完全なDockerの例を見ることができますin this repository .
注意/確認
Reference
この問題について(NGNX、アルパインLinuxとDockerを使っているあなたのウェブサイトにアクセスすることからのブロック特定の国), 我々は、より多くの情報をここで見つけました https://dev.to/khromov/block-specific-countries-from-accessing-your-website-using-nginx-alpine-linux-and-docker-5jiテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol