【问题标题】:HAProxy Path MatchingHAProxy 路径匹配
【发布时间】:2019-04-17 16:22:51
【问题描述】:

我正在尝试将所有带有 url /api/* 的前端请求转发到特定的后端。我使用了以下内容:

frontend fr
# Other relevant settings
acl is_controller_req path_sub -i controller
acl is_controller_api path -i -m beg /api

use_backend controller_service if is_controller_req
use_backend controller_service if is_controller_api

第一个 acl 适用于域 http://localhost:4200/<PATH> 下的所有路由,其中​​每个 <PATH> 中都有控制器关键字。对于第二个,我得到503 Service Unavailable。如何匹配这些路径并相应地设置我的acl

【问题讨论】:

  • 您的示例代码对两个 acl 都使用了 controller_service 后端。难怪它转发给那个...
  • @bblue 嗯,这是预期的行为。 api和所有其他路由的后端在同一个域和服务器下

标签: haproxy


【解决方案1】:

如果要匹配以/api/ 开头的路径,可以尝试使用path_beg 示例:

acl is_controller_api path_beg /api/

【讨论】:

  • 试过这个;仍然得到 503 服务不可用。 acl 不评估为 true 并使用 controller_service 后端
  • 这应该是公认的答案。它第一次对我有用。
猜你喜欢
  • 2012-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-28
  • 1970-01-01
  • 2018-09-11
  • 2016-06-02
相关资源
最近更新 更多