Apache2で接続元IPかユーザ認証いずれかをパスすればアクセスOKにする

ALL
スポンサーリンク

Apache2のアクセス制限で、接続元IPかユーザ認証いずれかをパスすればOKにする方法です。
指定の接続元IPだったらアクセスOK、指定外のIPアドレスの場合はユーザ認証が通ればOK、という制限ができます。

Apache2.2/2.4 それぞれでの書き方の例です。
下記では、ユーザ認証はDigest認証です。
Basic認証等、認証の詳しい説明は Apacheのbasic認証とdigest認証 パソコン鳥のブログ を参照してください。

Apache2.4の場合

<Directory "/var/www/html/auth-digest">
    AuthType Digest
    AuthName "Protected Area"
    AuthUserFile /etc/httpd/.htdigest
    <RequireAny>
      Require valid-user
      Require ip xx.xx.xx.xx
    </RequireAny>
</Directory>

Apache2.2の場合

<Directory "/var/www/html/auth-digest">
    AuthType Digest
    AuthName "Protected Area"
    AuthUserFile /etc/httpd/.htdigest
    Require valid-user
    order deny,allow
    deny from all
    allow from  xx.xx.xx.xx
    Satisfy Any
</Directory>

Apache2.4の場合ですが、IPアドレスとユーザ認証の両方で制限する場合は、次の記事を参照してください。

apache2.4 で複数条件のアクセス制限を設定する場合 パソコン鳥のブログ


コメント