【Apache】リバースプロキシにアクセス制限をかける方法

サーバー

Apacheで構築したリバースプロキシにIPアドレスやBASIC認証などのアクセス制限をかける方法を紹介します。

スポンサーリンク

Proxyディレクティブは動作しない!

Apacheの公式ドキュメントを見ると、Proxyディレクティブを使うように記載されています。しかし、実際にやってみると、Proxyディレクティブではアクセス制限がかかりませんでした。

mod_proxy - Apache HTTP サーバ バージョン 2.4
スポンサーリンク

設定方法

Locationタグを使って、リバースプロキシにアクセス制限をかけることができます。

たとえば、

  • /fuwaへのアクセスをhttp://192.168.1.1:1337にプロキシ
  • /fuwaへのアクセスはすべて許可
  • /fuwa/chanへのアクセスは192.168から始まるIPアドレスに制限

としたいときなら、以下のようになります。なお、Apacheのバージョンは2.4です。

<VirtualHost *>
    ProxyRequests Off
    ProxyPass /fuwa http://192.168.1.1:1337
    ProxyPassReverse /fuwa http://192.168.1.1:1337
    <Location "/fuwa">
            Require all granted
    </Location>
    <Location "/fuwa/chan">
            Require ip 192.168.1
    </Location>
</VirtualHost>

Locationディレクティブを使うことで、リバースプロキシでもアクセス制限をかけることができます。もちろん、BASIC認証やDigest認証といったことも対応できます。

まとめ

Locationディレクティブを使用すれば、リバースプロキシについてもアクセス制限をかけることができます。もちろんBASIC認証など、ほかの方式のアクセス制限も使用できます。

ぜひお試しください。

コメント

タイトルとURLをコピーしました