Basic認証をかけた上で、特定のディレクトリにはIP制限もしたくなった件
Apacheで以下のようなディレクトリ構成をしているときに、
ということをやりたくなったので、そのときのメモを残します。
/var/www/html/ # DocumentRoot |__ user # 一般ユーザ向けサイトのアプリがデプロイされたディレクトリ |__ admin # 管理者用サイトのアプリがデプロイされたディレクトリ
結論からいうと、こういうconfファイルの書き方でうまく動きました。 Apacheのバージョンは2.2.15です。 またVirtualHostにしてますが、特に意味は無いです。
# /etc/httpd/conf/httpd.conf <VirtualHost 10.1.xxx.xxx:80> ServerName xxxxxx.jp DocumentRoot /var/www/html/ CustomLog "|/usr/sbin/rotatelogs /var/log/httpd/access_log.%Y%m%d 86400 540" combined <Location /admin> Order deny,allow Deny from all Allow from 10.1.200.0/24 Allow from 183.77.xxx.xxx Satisfy All </Location> </VirtualHost> <Directory /var/www/html/> AcceptPathInfo On AllowOverride All Order deny,allow Deny from all AuthUserFile /etc/httpd/conf/.htpasswd AuthGroupFile /dev/null AuthName "Basic Auth" AuthType Basic require valid-user Satisfy Any </Directory>
これでexample.com/userへのアクセスはBasic認証のみ、example.com/adminへのアクセスはBasic認証+IP制限、 という設定ができました。
<Directory /var/www/html/>
でDocumentRoot全体にBasic認証を掛け、
<Location /admin>
で更に/admin配下はAllow fromで許可されたIPのみ接続可能、と。
なお<Location /admin>
はSatisfy AllなのでBasic認証とIP制限の両方を満たさないと接続できない、と。
恐らくこのような認識なのですが、違う場合はご意見頂けると、とてもありがたいです!!m(_ _)m
サーバ構築の実際がわかる Apache[実践]運用/管理 (Software Design plus)
- 作者: 鶴長鎮一
- 出版社/メーカー: 技術評論社
- 発売日: 2012/03/23
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 109回
- この商品を含むブログ (14件) を見る