如何密码控制访问除apache 2中的所有URL之外的所有URL

时间:2009-06-09 15:57:24

标签: url apache authentication

我想密码保护我的测试版网站上的所有网址。除了一个网址,因为它被闪存调用,闪存无法正常处理基本身份验证。所以我想为那个网址禁用基本身份验证。这是我在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,那么第一个位置配置应该匹配,不需要auth。

这似乎不起作用我总是被要求认证。有什么想法吗?

问候 Peter Delahunty

1 个答案:

答案 0 :(得分:10)

将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指令的描述中。