Как контролировать паролем доступ ко всем URL-адресам, кроме одного в apache 2 - PullRequest
4 голосов
/ 09 июня 2009

Я хочу защитить паролем все URL на моем бета-сайте в данный момент. За исключением одного URL, потому что он вызывается флэш-памятью, а флэш-память не может правильно обрабатывать базовую аутентификацию. Поэтому я хочу отключить базовую аутентификацию для этого URL. Это мой конфиг в apache. Apache - прокси для tomcat, но это не имеет значения, верно?

<IfModule mod_proxy_ajp.c>
ProxyRequests On
ProxyVia On


<Location /uploader>
Order allow,deny
Allow from all
ProxyPass ajp://localhost:8050/uploader
ProxyPassReverse ajp://localhost:8050/uploader
</Location>


<Location />
Order allow,deny
Allow from all
AuthType Basic
AuthName "Restricted area"
AuthUserFile /etc/apache2/passwd/site-access
Require valid-user
ProxyPass ajp://localhost:8050/
ProxyPassReverse ajp://localhost:8050/
</Location>

</IfModule>

Так что я думаю, что если вызывается http://www.example.com/uploader, то первая конфигурация местоположения должна совпадать, и аутентификация не требуется.

Это не похоже на работу, меня всегда спрашивают об авторизации. Есть идеи?

С уважением Питер Делахунти

1 Ответ

10 голосов
/ 09 июня 2009

Добавить Satisfy Any в папку для загрузки:

<Location /uploader>
Order allow,deny
Satisfy Any
Allow from all
ProxyPass ajp://localhost:8050/uploader
ProxyPassReverse ajp://localhost:8050/uploader
</Location>

Это описано в документации Apache, но под описанием директивы Require .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...