HAProxy set acl com hosts do arquivo

3

Gostaria de migrar mais de 100 sites de um servidor para outro. O plano atual é adicionar gradualmente um acl para cada um à medida que são movidos para direcionar o tráfego para um novo servidor.

Aqui está um exemplo simplificado

front http_frontend
  bind *:80
  acl is_new hdr_end(host) -i sub1.domain.com
  acl is_new hdr_end(host) -i sub2.domain.com
  acl is_new hdr_end(host) -i www.domain2.com
  mode http
  # etc
  use_backend web1 if is_new
  default_backend legacy1

Depois que todos forem movidos, alteraremos o default_backend

Existe uma maneira de ler esses acls de outro arquivo? Ou para ler os domínios de um arquivo - talvez algo assim?

acl is_new hdr_end(host) -i /path/to/file

Por exemplo, incluo todos os certificados seguros como abaixo, algo assim seria ótimo!

bind *:443 ssl crt /etc/haproxy/certs.d

Não é o fim do mundo, se não, seria legal e arrumado:).

    
por joevallender 31.07.2014 / 17:17

1 resposta

5

ACLs no haproxy podem usar o argumento -f para carregar valores de um arquivo. Você pode ler a documentação aqui .

Por exemplo:

acl valid-ua hdr(user-agent) -f exact-ua.lst -i -f generic-ua.lst test

The "-f" flag is followed by the name of a file from which all lines will be read as individual values. It is even possible to pass multiple "-f" arguments if the patterns are to be loaded from multiple files. Empty lines as well as lines beginning with a sharp ('#') will be ignored.

    
por 31.07.2014 / 18:05

Tags