0

我想允许从本地主机查询到一个 url,并将其他所有内容转发到另一项服务。在我在没有本地主机要求的情况下执行此操作之前,它正在工作。但现在看来,虽然位置过滤器与使用跟踪日志的授权消息匹配,但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/link1Service2 中获取查询并在添加所需的位置(如注释的第 52 行所示)之前它正在工作的原因是什么?

4

1 回答 1

0

你应该尝试这样做:

    <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我一直觉得任何或类似标签之外的 JkMountLocationMatch在任何其他语句之前处理

于 2020-09-16T06:29:54.997 回答