小编Lor*_*igs的帖子

Apache 如何合并多个匹配的 Location 部分

我正在研究一些基本的 apache 配置,但我不明白 apache 如何<Location>在其中几个与传入的请求 URL 匹配时合并不同的部分。当涉及到相同类型的多个匹配部分的顺序/优先级时,其“如何合并部分”一章中的apache 文档有点令人困惑。

例如,想象下面的apache配置(忽略实际内容是否有意义,我只对每个规则/部分的应用顺序感兴趣):

<Location / >
  ProxyPass http://backend.com/
  Order allow,deny
  Satisfy any
</Location>

<Location /sub/foo>
  Order allow,deny
</Location>

<Location /sub >
  Order deny,allow
  Require valid-user
  Satisfy all
</Location>

<Location /doesnt/match >
  ProxyPass !
</Location>
Run Code Online (Sandbox Code Playgroud)

现在,如果客户端向 发出请求/sub/foobar,将应用于此请求的最终配置是哪个?

应用的配置是否等同于:

# All the directives contained in all the matchin Locations in declaration order
ProxyPass http://backend.com/
Order allow,deny
Satisfy any
Order allow,deny
Order deny,allow
Require valid-user
Satisfy all
Run Code Online (Sandbox Code Playgroud)

或者可能

# same as …
Run Code Online (Sandbox Code Playgroud)

apache-2.2

43
推荐指数
1
解决办法
6万
查看次数

标签 统计

apache-2.2 ×1