HAProxy-无法使用路径ACL重定向具有相似URL的请求

时间:2018-12-07 15:33:14

标签: routing acl haproxy

我无法正确重定向URL中非常相似的API调用请求。

我的配置如下(部分已编辑):

前端:

frontend https
  bind :443 ssl crt /opt/haproxy/cert
  capture request header X-TRACE len 32
  log-format %ci:%cp\[%t]\ %ft\ %b/%s\ %Tq/%Tw/%Tc/%Tr/%Tt\ %ST\ %B\ %CC\ %CS\ %tsc\ %ac/%fc/%bc/%sc/%rc\ %sq/%bq\ %hr\ %hs\ %{+Q}r

  reqadd X-Forwarded-Proto:\ https

  use_backend foo if { path -m beg /foo }
  use_backend foo-v2 if { path_sub /foo-v2 }

后端:

backend foo
  option httpchk GET /foo/healthcheck HTTP/1.1\r\nHost:\ www\r\nAuthorization:\ Basic\ ...
  http-check expect rstatus 200
  server bar1 xx.xx.xx.xx:xxxx check inter 10s maxconn 2000

backend foo-v2
  option httpchk GET /foo-v2/healthcheck HTTP/1.1\r\nHost:\ www\r\nAuthorization:\ Basic\ ...
  http-check expect rstatus 200
  server bar1 xx.xx.xx.xx:xxxx check inter 10s maxconn 2000
  server bar2 xx.xx.xx.xx:xxxx check inter 10s maxconn 2000

如您所见,将请求彼此分离的唯一方法是在v2请求中添加-v2。但是,所有请求(无论是否使用v2)都通过第一个后端发送,而不是在发出v2请求时与v2后端匹配。

0 个答案:

没有答案