我正在研究一些基本的 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 ×1