Я хочу исключить путь /health
из базовой авторизации.
Я перепробовал все, что мог придумать: двойные кавычки, If expr
, контексты Location и Directory.Возможно, я не пробовал каждую возможную перестановку со всеми этими вариациями.
<Directory /var/www/web>
<If "env('PROJECT_SERVER_ENVIRONMENT') != 'local'">
AuthType Basic
AuthName "Beta"
AuthUserFile /etc/apache2/conf.d/.htpasswd
Require expr "%{HTTP_HOST} =~ /^web$/"
Require valid-user
</If>
</Directory>
<Location ~ "/(admin|simplesaml|user)">
<If "env('PROJECT_SERVER_ENVIRONMENT') == 'stage' || env('PROJECT_SERVER_ENVIRONMENT') == 'prod'">
# ipv4 range
Require ip 192.168 .0.1
# ipv6 range
Require ip ::ffff:c0a8:1
Require env AllowIP
</If>
</Location>
Я хотел бы защитить все пути базовой авторизацией, кроме /health
.