GNU/Linux >> Linux の 問題 >  >> Linux

Apache を使用して GeoIP ブロックを設定する方法

Ubuntu または Debian で Apache を使用して、GeoIP ベースのブロックをセットアップします。 GeoIP モジュールにより、管理者は場所に基づいてトラフィックをブロックまたはリダイレクトできます。

このガイドでは、GeoIP モジュールをインストールして、特定の国をブロックするように構成する方法を学習します。

前提条件

Apache のインストールと構成。 Apache2 のインストールおよび構成方法については、このガイドを参照してください。

GeoIP モジュールをインストール

次のコマンドを使用して、Apache 用の GeoIP モジュールをインストールします。

sudo apt install libapache2-mod-geoip

このコマンドは、Apache に必要なモジュールをインストールします。

GeoIP を有効にする

GeoIP を有効にする方法は 2 つあります。サーバー全体で GeoIP を有効にしたい場合は、方法 1 に従ってください。この方法にはパフォーマンス上の問題があります。

仮想ホスト構成から GeoIP を有効にすることもできます。

方法 1 – サーバー全体の構成

モジュールがインストールされたら、モジュール構成を編集し、以下にリストされているように変更を加えます。

ファイル モジュール構成ファイルを編集します。

sudo nano /etc/apache2/mods-available/geoip.conf
  • GeoIPEnable 行を設定します オフから オンに .
  • GeoIPDBFile のコメントを外します

最終的なファイルは次のようになります。

<IfModule mod_geoip.c>
  GeoIPEnable On
  GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
</IfModule>

ファイルを保存して終了します。

モジュールを有効にします。

sudo a2enmod geoip

方法 2 – 仮想ホスト構成

モジュールをインストールしたら、GeoIP データベースをインストールする必要があります。そのため、仮想ホスト構成を編集して、次の変更を加えることができます。

仮想ホスト構成を編集します。

sudo nano /etc/apache2/sites-available/virtualhost.conf

ServerAlias の下に以下を追加します

GeoIPEnable On
GeoIPDBFile /usr/share/GeoIP/GeoIP.dat
GeoIPScanProxyHeaders On

ファイルを保存して終了します。

Apache を再起動

構成が正しいかどうかを確認し、Apache を再起動してください。

sudo apachectl configtest
sudo service apache2 restart

これで、GeoIP が有効になりました。

制限を管理

特定の国をブロック

Web ルート ディレクトリ内にある .htaccess ファイルを作成または開き、次のスニペットを追加して国をブロックします。

SetEnvIf GEOIP_COUNTRY_CODE UA BlockCountry
SetEnvIf GEOIP_COUNTRY_CODE VN BlockCountry
Deny from env=BlockCountry

上記の構成は、上記の 2 つの国からのリクエストをブロックします。希望に応じて含めることができます。

特定の国を許可

Web ルート ディレクトリ内にある .htaccess ファイルを作成または開き、次のスニペットを追加して国を許可します。

SetEnvIf GEOIP_COUNTRY_CODE US AllowCountry
SetEnvIf GEOIP_COUNTRY_CODE CA AllowCountry
Deny from all

Allow from env=AllowCountry

上記の構成では、上記の 2 か国からのリクエストのみが許可されます。希望に応じて含めることができます。

国コードのリストを見つけることができます maxmind 公式データベースより。

結論

これで、Ubuntu または Debian サーバーで Apache を使用して GeoIP ベースの制限を構成する方法を学習しました。

御時間ありがとうございます。問題やフィードバックに直面した場合は、下にコメントを残してください。


Linux
  1. ソースコードを使用してLinuxにphpMyAdminをインストールする方法

  2. Rsyslogを使用して集中ログサーバーをセットアップする方法

  3. WHMCS用のCWPモジュールのセットアップ方法

  1. CentOSのApacheでmod_rewriteを有効にする方法

  2. .htaccessを使用してApacheで基本認証を設定する方法

  3. WHMからEasyApacheを使用してApacheを再コンパイルする方法は?

  1. LinuxでJellyfinを使用してストリーミングメディアサーバーを設定する方法

  2. simpleHTTPserverを使用して基本的なファイルサーバーをセットアップする方法

  3. CentOS8でFirewallDを使用してファイアウォールを設定する方法