Nome do domínio HAproxy para o mapeamento de backend para o roteamento baseado em caminho (url)

1

O HAProxy suporta nome de domínio para o mapeamento de back-end para roteamento baseado em caminho.

Atualmente, ele suporta mapas para vhost:

frontend xyz
   <other_lines>
   use_backend backend1 if { hdr(Host) -i myapp.domain1.com }
   use_backend backend2 if { hdr(Host) -i myapp.domain2.com }

Pode ser reescrito usando mapas como:

frontend xyz
   <other_lines>
   use_backend %[req.hdr(host),lower,map_dom(/path/to/map,default)]

Com o conteúdo do arquivo de mapeamento como:

#domainname  backendname
myapp.domain1.com backend1
myapp.domain2.com backend2

Mas, se o roteamento for baseado em caminhos, conforme mostrado no exemplo abaixo:

frontend xyz
   acl host_server_myapp hdr(host) -i myapp.domain.com
   acl path_path1 path_beg /path1
   acl path_path2 path_beg /path2
   use_backend backend1 if host_server_myapp path_path1
   use_backend backend2 if host_server_myapp path_path2

É possível ter mapeamento para este uso? Usar base em vez de hdr (host) pode fornecer o caminho inteiro, mas não terá a flexibilidade de domínios, pois base é a comparação de strings. Existe outra maneira de converter isso em mapas haproxy.

    
por ajays20078 16.06.2016 / 20:54

0 respostas

Tags