O que são ACLs do HAProxy?

No HAProxy, Listas de Controle de Acesso (ACLs) são a base do roteamento inteligente, permitindo inspecionar solicitações para segurança ou roteamento.

Sintaxe Básica

acl <nome_acl> <criterio> [flags] <valor>

Casos de Uso Comuns

1. Roteamento por Domínio

frontend main_frontend
    bind *:80
    acl is_blog hdr(host) -i blog.exemplo.com
    use_backend blog_servers if is_blog

2. Roteamento por Caminho

frontend main_frontend
    bind *:80
    acl app_api path_beg /api/
    use_backend api_servers if app_api

3. Bloqueio de IPs

frontend main_frontend
    bind *:80
    acl blocked_ip src 203.0.113.50
    http-request deny if blocked_ip

4. Redirecionamento HTTP para HTTPS

frontend http_in
    bind *:80
    http-request redirect scheme https code 301 if !{ ssl_fc }

5. Roteamento por User-Agent

frontend main_frontend
    bind *:80
    acl is_mobile hdr_sub(User-Agent) -i android iphone
    use_backend mobile_servers if is_mobile

Resumo

  • ACLs extraem dados da requisição e disparam ações.
  • Sempre teste a sintaxe com haproxy -c antes de recarregar.

Artigos Relacionados