Я новичок в StackExchange и пытаюсь найти помощь с проблемой конфигурации. Мне нужно создать конфигурацию для HAProxy, которая позволит мне динамически проксировать путь контекста приложения Tomcat к поддомену. Субдомен / путь не может быть жестко закодирован и должен быть настроен как переменная. Я просмотрел другие предложения на сайте, но ни один из них не касается этой конкретной проблемы. Пока что я собрал эту конфигурацию из различных существующих предложений.
Это то, что мне нужно.
http://site1.domain.com/path
http://<ip>:8080/site1/path
Когда приложение tomcat возвращает ссылки на ресурсы, у них будет путь, который также необходимо будет перенаправить.
https://site1.example.com/site1/image.jpg
https://site1.example.com/image.jpg
Я дошел до этого, используя примеры и другие руководства с этого сайта, но я нахожусь на пределе знаний в этой области. Я не уверен, как удалить site1 в пути.
# Frontend Definition
frontend tomcat_contexts
bind *:80
bind *:443 ssl crt /etc/haproxy/cert.pem
acl http ssl_fc,not
http-request redirect scheme https if http
reqadd X-Forwarded-Proto:\ https
default_backend cluster
# Backend Definition
backend cluster
balance roundrobin
cookie JSESSIONID prefix nocache
# Perform Subdomain url rewrite
http-request set-var(req.subdomain) req.hdr(host),lower,regsub(\.example\.com$,) if { hdr_end(host) -i .domain.com }
http-request set-path /%[var(req.subdomain)]%[path] if { var(req.subdomain) -m found }
http-request set-header Host example.com if { var(req.subdomain) -m found }
# Cluster machines
server app01 192.168.69.181:8080 check cookie app01
server app02 192.168.69.182:8080 check cookie app02
Любые предложения приветствуются.