❓ Perguntas Frequentes (FAQ) - HAProxy
⚖️ O que é o HAProxy na plataforma?
O HAProxy é um balanceador de carga e proxy reverso de alto desempenho.
Ele distribui requisições entre múltiplos servidores backend, melhora a disponibilidade, otimiza o desempenho e pode gerenciar conexões SSL.
🔀 O que são backends e frontends no HAProxy?
- Frontend: responsável por receber conexões do cliente (porta, protocolo, certificado).
- Backend: conjunto de servidores para onde o tráfego é direcionado.
💓 O que é um health check no HAProxy?
São testes automáticos realizados para verificar se os servidores backend estão ativos.
Se um servidor falhar, é marcado como DOWN e deixa de receber tráfego até se recuperar.
🚨 O que significa o erro "503 Service Unavailable"?
Indica que não há nenhum servidor backend disponível.
Causas possíveis:
- Todos os servidores estão fora do ar
- Falha nos health checks
- Erro de configuração
🚫 O que significa o erro "Connection refused" no HAProxy?
Ocorre quando o HAProxy não consegue se conectar a um backend.
Possíveis motivos: serviço parado, porta incorreta ou firewall bloqueando a comunicação.
🔢 O que significa "Too many connections" no HAProxy?
Significa que o número máximo de conexões simultâneas foi atingido.
Solução: ajustar maxconn
no haproxy.cfg
e aumentar o limite de arquivos abertos no sistema.
📜 O que são logs no HAProxy e como usá-los?
São registros de requisições, erros e status dos servidores.
Permitem identificar falhas como 503, SSL e quedas de backend.
Visualização em tempo real:
tail -f /var/log/haproxy.log
🔐 O que é SSL Offloading no HAProxy?
É o processo de finalizar conexões HTTPS no próprio HAProxy, aliviando os servidores backend dessa carga.
🖥️ O que é clustering no HAProxy?
É a configuração de múltiplos HAProxy para alta disponibilidade.
Se o primário falhar, um secundário assume automaticamente.
⚙️ Como configurar sticky sessions no HAProxy?
Use o parâmetro cookie
nos backends para manter a sessão do cliente no mesmo servidor.
Exemplo:
cookie SERVERID insert indirect nocache
📊 Como monitorar o HAProxy em tempo real?
Ative o stats page no haproxy.cfg
:
listen stats
bind *:9000
stats enable
stats uri /haproxy?stats
Acesse http://seu-ip:9000/haproxy?stats
para visualizar métricas.
🛡️ O HAProxy suporta rate limiting?
Sim. É possível limitar requisições por IP usando ACLs e stick-tables.
Exemplo:
stick-table type ip size 200k expire 30s store http_req_rate(10s)
🔄 Qual a diferença entre balanceamento TCP e HTTP no HAProxy?
- TCP Mode: funciona na camada 4 (transportes), ideal para bancos de dados, SMTP, etc.
- HTTP Mode: camada 7, permite inspeção de cabeçalhos, regravação de URLs e regras avançadas.
🌐 Como habilitar IPv6 no HAProxy?
Basta configurar o bind com IPv6:
bind :::80 v4v6
Isso permite escutar tanto em IPv4 quanto IPv6.
📦 Posso usar o HAProxy como proxy reverso para múltiplos domínios?
Sim. Configure ACLs para diferenciar domínios:
acl host_site1 hdr(host) -i site1.com
use_backend site1_backend if host_site1