Apache避免单个文件的密码保护

我想在Apache中保护整个虚拟主机,但是我仍然希望允许公共访问单个文件。 虚拟主机将所有请求代理到后端的Tomcat服务器。 什么是最好的方法来做到这一点?

我尝试设置我的虚拟主机定义如下,但它仍然需要我公开暴露的文件的密码

<VirtualHost *> ServerName example.com <Location / > Order Allow,Deny Allow from all AuthType Basic AuthName "Restricted Access" AuthUserFile /etc/apache2/secrets.htpasswd Require valid-user </Location> <Location /foo/bar.html> Order Allow,Deny Allow from all </Location> </VirtualHost> 

有什么build议么?

<Location>部分都适用于您的文件,因此它们都按顺序处理。 http://httpd.apache.org/docs/2.0/sections.html你的第二部分不会覆盖你的第一部分,所以AuthType和Require指令等保持不变&#x3002;

如果您在后面的章节中添加指令“满足任何”指令( http://httpd.apache.org/docs/2.0/mod/core.html#satisfy ),我相信应该允许所有stream量感谢您的“订单允许,拒绝“和”全部允许“。 不过,你可以不用重复这两个指令。