Apache:需要满足要求,并兼容 v2.5

Apache:需要满足要求,并兼容 v2.5

我想使用 保护整个服务器Require valid-user,但我希望允许某些资源无需登录即可访问。为了便于讨论,假设文件ABC应该是公开的。我已经使用以下配置测试了此要求:

<Location "/">
  ...
  AuthType openid-connect
  Require  valid-user
</Location>

<Directory "/var/www/data">
  Require all denied
  <Files "A">                                                                                           
   Allow from all
   Satisfy Any
  </Files>
  <Files "B">
    Require all granted
    Satisfy Any
  </Files>
  <Files "C">
    Require all granted
  </Files>
</Directory>

对于此配置,A并按B预期工作(无需登录即可查看文件),但C不起作用。

A文件(带有allow和)的配置satisfy受到推崇的根据 2.4 文档(“Satisfy 指令的另一个常见用途是放宽子目录的访问限制”)。

文件的配置B显然与没有的配置相同allow,但仍然需要satisfy,因为文件的配置C不起作用。

问题是satisfy在 2.5 中已弃用,那么如何让它在 2.5 中工作?RequireAny与不同,它仅在单个目录中工作,satisfy因此似乎不是正确答案。我还没有测试过RequireAny包含所有AuthTypeRequire valid-userRequire all granted必须公开的资源的 - 一定有更好的方法。

相关内容