Subdomínios HAProxy e redirecionamento de caminho

4

Sou novo no StackExchange e estou tentando encontrar alguma ajuda com um problema de configuração. Eu preciso criar uma configuração para HAProxy que me permita dinamicamente proxy um caminho de contexto de aplicativo do Tomcat para um subdomínio. O subdomínio / caminho não pode ser codificado e deve ser configurado como uma variável. Eu dei uma olhada no outro sugerido em todo o site, mas nenhum deles abordou essa questão em particular. Até agora, eu juntei esta configuração de várias sugestões existentes.

Isso é o que eu preciso.

  • Solicitação do usuário - > %código%
  • Redirecionar para https
  • O HAProxy faz uma solicitação ao pool de back-end usando o URL http://site1.domain.com/path

Quando o aplicativo tomcat retorna links para ativos, eles terão um caminho que também precisará ser redirecionado.

  • O site retorna http://<ip>:8080/site1/path
  • Se existir, remova o primeiro site1 do caminho. %código%

Eu cheguei até aqui usando exemplos e outros guias deste site, mas estou nos limites do conhecimento nessa área. Não sei como remover o site1 no caminho.

# 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

Qualquer sugestão seria bem-vinda.

    
por Matt Healey 07.10.2017 / 05:23

0 respostas