はじめに
Apacheの設定で対象のURLに対して、IP制限を行い、Basic認証をかける方法です。
.htaccessではなく、apacheのconfファイルに直接記載しております。
対象URL
対象URLに対しては、Locationで囲う。
<Location /hoge/huga>
</Location>
条件のマッチ
RequireAll
RequireAllで、記述した条件がすべてマッチした場合にアクセスを許可させます。
こちらで、IP制限部分、Basic認証部分を囲います。
<RequireAll>
</RequireAll>
RequireAny
RequireAnyで、記述した条件のいずれかがマッチした場合にアクセスを許可させます。
こちらで、IP制限であるRequire ipを記載します。
<RequireAny>
</RequireAny>
ロードバランサーを使用している場合は、以下を記載してください、
RemoteIPHeader X-Forwarded-For
全体
最終的にこうなりました。適宜置き換えてください。
RemoteIPHeader X-Forwarded-For
<Location /hoge/huga>
<RequireAll>
<RequireAny>
Require ip XXX.XXX.XXX.XXX
Require ip XXX.XXX.XXX.XXX
Require ip XXX.XXX.XXX.XXX
</RequireAny>
AuthType Basic
AuthName "auth"
AuthUserFile /hogehoge/htpasswd
Require valid-user
</RequireAll>
</Location>