HAProxy - невозможно перенаправить запросы с похожим URL с путем ACL - PullRequest
0 голосов
/ 07 декабря 2018

Я не могу правильно перенаправить запросы вызовов API, которые очень похожи в URL.

Моя конфигурация следующая (некоторые части отредактированы):

внешний интерфейс:

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.

...