我想允许从localhost到一个url的查询,并将其他所有内容转发到另一个服务。在我做这件事之前,没有本地主机的要求,它是有效的。但现在看来,尽管localion过滤器与使用authz_core:trace8
的跟踪日志的授权消息匹配(如图所示(,但它重定向到了我不想要的服务:
45 <Location /api/link1/>
46 JkMount Service1
47 <RequireAny>
48 Require local
50 </RequireAny>
51 </Location>
52 # JkMount /api/link1/* Service1
53
55 JkMount /api Service2
56 JkMount /api/* Service2
因此,考虑到这种配置,我理解我说,如果查询转到/api/link1
,它应该将查询重定向到我的Service1,而/api*
的所有其他内容都应该转到Service2。
是什么原因导致我将查询从/api/link1
获取到Service2中,并且在添加注释行52中所示的位置必备项之前,它正在工作?
您应该尝试这样做:
<Location /api/link1/>
JkMount Service1
<RequireAny>
Require local
</RequireAny>
</Location>
# JkMount /api/link1/* Service1
JkMount /api Service2
JkMount /api/* Service2
JKUnMount /api/link1 Service2
我一直有一种感觉,任何类似Location
或LocationMatch
的标签之外的JkMount都是在任何其他语句之前处理的