Ignora os números de porta nas correspondências do cabeçalho do host haproxy

6

Usando o haproxy-1.5, tenho a seguinte configuração parcial:

    acl is_api hdr(host) -i api.example.com
    acl is_app hdr(host) -i app.example.com

Infelizmente, os itens acima não correspondem a uma solicitação semelhante a:

GET / HTTP/1.1
Host: api.example.com:80

Até onde eu sei, preciso fazer:

    acl is_api hdr(host) -i api.example.com
    acl is_api hdr(host) -i api.example.com:80
    acl is_app hdr(host) -i app.example.com
    acl is_app hdr(host) -i app.example.com:80

UGH. NÃO! ÓDIO!

Existe uma maneira mais agradável de fazer isso? Posso dizer ao haproxy para ignorar a porta no cabeçalho do host?

    
por MikeyB 25.04.2013 / 04:12

1 resposta

7

Você pode fazer isso funcionar verificando hdr_dom ( link ) em vez de hdr:

acl is_api hdr_dom(host) -i api.example.com
acl is_app hdr_dom(host) -i app.example.com

Basta ter cuidado, porque acredito que isso também corresponderia a coisas como "otherstuff.api.example.com".

    
por 25.04.2013 / 19:31

Tags