.htaccess でローカルからのアクセスのみを許可する

記事「localhost のみのアクセスを許可する」では、 ネットワークのバインディング設定を変更することによって、外部からのアクセスを遮断しました。

Apache では外部からのアクセスを一切受け付けたくない場合は、バインディング設定を変えるのが有効です。

Apache 2.4 以降で有効です。

しかし、場合によっては、一部のディレクトリのみローカルからのアクセスのみとし、 一部は外部からのアクセスも許可したいという場合もあるでしょう。

こうした場合には .htaccess で簡単に設定可能です。

例えば、/home/user1/public_html 以下のアクセスをローカルからのみ許可とするには、 /home/user1/public_html/.htaccess を次のように構成します。

Require local

これだけでクライアントには 403 Forbidden が返るようになります。

尚、ホストによる承認は mod_authz_host モジュールが行います。現在ロードされているモジュール一覧は次のコマンドで表示できます。

$ apache2ctl -M

もし動作しない場合は確認してください。コマンドでは authz_host_module などとして表示されます。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Linux 入門