apache 2.2 と mod_geoip による国別 HTTP 認証

apache 2.2 と mod_geoip による国別 HTTP 認証

私はトラフィックをフィルタリングするためにmod_geoipを使用しています。例えば、次のようなものがあります

SetEnvIf GEOIP_COUNTRY_CODE FR AllowCountry
<Locationmatch "/secure-by-country">
Deny from all
Allow from env=AllowCountry
</..

しかし、ブロックされた国に対しては http 認証を追加する必要があります。つまり、

IPの場合ではありませんenv=AllowCountry から http 認証が表示され、クライアントが有効な資格情報を送信するとアクセスが許可されます。

それは可能ですか? Locationmatch と Mod_geoip を何らかのタイプの IF と組み合わせるにはどうすればよいですか?

どうもありがとう

答え1

あります:) - allow と require は有効な順序でなければなりません

<Locationmatch "/secure-by-country">
AuthName "Secure area"
AuthType Basic
AuthUserFile /var/.../.htpasswd
AuthGroupFile /dev/null
Satisfy any
Deny from all
Allow from env=AllowCountry
require valid-user
</Locationmatch>

関連情報