У меня есть автор обзора, настроенный на одном из моих доменов, но я хотел бы отключить его для обратного прокси.
<VirtualHost *:80>
ServerName example.org
DocumentRoot /var/www/
<Directory /var/www/>
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
AuthType Digest
AuthName "Internal"
AuthDigestDomain http://example.org/
AuthDigestProvider file
AuthUserFile /etc/apache2/example.digest
Require valid-user
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ExpiresActive On
ExpiresDefault "access plus 7 days"
ProxyRequests Off
ProxyPreserveHost On
ProxyPass /api/ http://api.otherdomain.com/ retry=0 nocanon
ProxyPassReverse /api/ http://api.otherdomain.com/
AllowEncodedSlashes On
<Proxy *>
Order allow,deny
Satisfy Any
Allow from all
</Proxy>
Как Вы видите, я неудачно попытался использовать a <Proxy>
блок для Удовлетворения Любого.
Я думаю, что вы решаете свою проблему довольно универсальным способом, помещая вашу конфигурацию обратного прокси внутри тега
и используете то, как Apache объединяет директивы и устанавливает приоритет. Директивы
применяются последними и должны отменять директиву
.
<VirtualHost *:80>
ServerName example.org
DocumentRoot /var/www/
<Directory /var/www/>
BrowserMatch "MSIE" AuthDigestEnableQueryStringHack=On
AuthType Digest
AuthName "Internal"
AuthDigestDomain http://example.org/
AuthDigestProvider file
AuthUserFile /etc/apache2/example.digest
Require valid-user
Options FollowSymLinks MultiViews
AllowOverride All
</Directory>
ExpiresActive On
ExpiresDefault "access plus 7 days"
<Location /api/>
Order allow,deny
Allow from all
ProxyPreserveHost On
ProxyPass http://api.otherdomain.com/ retry=0 nocanon
ProxyPassReverse http://api.otherdomain.com/
AllowEncodedSlashes On
</Location>
</VirtalHost>
Из Apache 2.3 вы можете использовать контейнеры авторизации для выражения более сложной логики авторизации.