Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【Apache 2.4】.htaccessを使って特定のIPアドレスからの接続だけを許可する

以下の例では、トップページとそれ以下のページについて、特定のIPアドレスからの接続のみを許可する手順を示す。 C:\Apache24\confのhttpd.confを開く。251~278行目辺りに以下のような記述があるはず。

<Directory "${SRVROOT}/htdocs">
~
    AllowOverride None
~
</Directory>

AllowOverrideをAllに修正する。

AllowOverride None

AllowOverride All

サービスで、Apache2.4を再起動。 C:\Apache24\htdocsに、テキストエディタで「.htaccess」というファイルを作成する。中身はとりあえず以下3行だけにする。

<requireany>
Require all denied
</requireany>

そのサーバ上のブラウザで、トップページ(http://localhost)を開いてみる。上記3行の設定では、あらゆる接続が(そのサーバですら)拒否されるため、ブラウザに以下の2行が表示されれば設定は成功。

Forbidden
You don't have permission to access this resource.

そのサーバから表示確認ができない状態は不便なので、そのサーバ(localhost)からの接続だけを、とりあえずできるようにする。ファイルの中身を以下の4行のようにする。

<requireany>
Require all denied
Require ip 127.0.0.1
</requireany>

3行目を追加しただけ。ファイルを保存してトップページ(http://localhost)をブラウザで開く。開けたら設定は成功。 特定のIPアドレスのみ接続可とする場合は、上記の例を参考に間の「Require all denied」の後に、「Require ip」を使用してIPアドレスを指定すればよい。例えば、123.456.789.012からの接続も可とする場合は、

<requireany>
Require all denied
Require ip 127.0.0.1
Require ip 123.456.789.012
</requireany>

とすればよい。後は、必要なIPアドレスを追加すればよい。