Como posso obter back-ends do HAProxy para incluir um caminho

4

Ao usar o HAProxy para hospedagem virtual, posso ver como usar o Host do cabeçalho no front end para decidir em qual backend o roteamento será feito. No entanto, é possível fazer o back-end ser um URL que inclua um caminho (não muito diferente do que você faria com o apache ou o nginx ao configurar hospedagem virtual).

link - mostra a maior parte. Mas e se os back ends estivessem em um servidor, mas com backend1 e backend2 como servidores?

    
por Michael Neale 25.03.2010 / 11:51

2 respostas

1

A diretiva "server" no HAProxy suporta vários parâmetros, e o mais próximo do que você está pedindo é o parâmetro "redir". Você pode usá-lo para enviar um redirecionamento HTTP 302 de volta ao cliente.

Exemplo:

backend www_example_com

balance roundrobin

server Backend1 10.0.0.1:80 redir http:// www.example.com/backend1

server Backend2 10.0.0.1:80 redir http:// www.example.com/backend2

    
por 27.03.2010 / 01:03
4

Acho que você está procurando algo assim para equilibrar os servidores com base na URL:

frontend http-farm
    bind 0.0.0.0:80
    acl app1web     hdr_beg(host) -i app1  # for http://app1.domain.com
    acl app2web     hdr_beg(host) -i app2  # for http://app2.domain.com

acl msg-url-1 url_reg ^\/path/games/.*
acl msg-url-2 url_reg ^\/path/photos/.*
acl msg-url-3 url_reg ^\/path/mail/.*
acl msg-url-4 url_reg ^\/path/wazap/.*

use_backend games  if  msg-url-1 app1web
use_backend photos if  msg-url-2 app2web
use_backend mail if .....



backend games
    option httpchk GET /alive.php HTTP/1.1\r\nHost:\ app1.domain.com
    option  forwardfor
    balance roundrobin
    server  appsrv-1  192.168.1.10:80  check inter 2000 fall 3
    server  appsrv-2  192.168.1.11:80  check inter 2000 fall 3

backend photos
    option httpchk GET /alive.php HTTP/1.1\r\nHost:\ app2.domain.com
    option  forwardfor
    balance roundrobin
    server  appsrv-1  192.168.1.13:80  check inter 2000 fall 3
    server  appsrv-2  192.168.1.14:80  check inter 2000 fall 3

Fonte: Haproxy ACL para saldo na solicitação de URL

    
por 26.08.2011 / 21:12