Apache: パスワード認証とIPアドレス認証のOR

apacheで、特定のIPアドレスからのアクセスには無条件でアクセスさせるが、 それ以外からのアクセスにはパスワード認証を掛けたい場合。つまりOR。

なんだか、apacheのディレクティブはもうぐっちゃぐちゃで訳分からん。 sendmail化してきたのう。

パスワード認証とIPアドレスアクセス制限をANDにするかORにするかだけの ディレクティブ、Satisfyを使えばいいだけ。

通常、.htaccess とかで

AuthUserFile /home/hogehoge/etc/.htpasswd
AuthGroupFile /dev/null
AuthName ユーザ名とパスワードいれれ
AuthType Basic
require user foo

<Limit GET PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
 Order deny,allow
 deny from all
 allow from hoge.example.co.jp .example.net
</Limit>

とすると、allowで許可したクライアントで、なおかつ認証で成功したものの みにアクセスが許可されるが、片方でいい場合は

Satisfy Any

を追加すればよし。

うーむ、条件判断をANDにするかORにするためだけに語彙が増えちゃうっていう この設計はどうなんだ。


叱咤激励感想ツッコミはゲストブック

Generated with mkdiary.rb
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]