Перенаправление haproxy на основе одного домена и нескольких путей, а бэкэнд с сохранением исходного пути - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь получить доступ к различным бэкэндам, используя один и тот же поддомен;Я хотел бы перенаправить на основе пути так:

https://foo.mydomain.com/abc/ -> http://abc-server/
https://foo.mydomain.com/xyz/ -> http://xyz-server/

и т. Д.

Проблема заключается в том, что если внутренний сервер ссылается на URL, например:

/baa/index.html

Браузер клиента будет пытаться получить:

https://foo.mydomain.com/baa/index.html

, когда мне понадобится получить эту страницу, чтобы перенаправить ее на бэкэнд "abc-web":

https://foo.mydomain.com/abc/baa/index.html

Myчастичный haproxy.cfg показан ниже:

frontend https
    bind *:443 ssl crt /etc/letsencrypt/....<my domain pem file>
    acl host_foo hdr(host) -i foo.mydomain.com
    acl path_app_abc path_beg /abc/
    use_backend abc-web if host_foo path_app_abc


backend abc-web
    mode http
    server abc-web-1 abc-server:80
    reqrep ^([^\ :]*)\ /abc/(.*)     \1\ /\2
...