Como configurar a rotação de proxies com HAProxy
Introdução
O HAProxy é um balanceador de carga poderoso que pode ser usado para rotação automática de proxies. Ele distribui as requisições entre vários proxies upstream.
Configuração básica
Instalação do HAProxy
sudo apt install haproxy
Configuração da rotação
Arquivo /etc/haproxy/haproxy.cfg:
frontend proxy_in
bind *:8080
default_backend proxy_pool
backend proxy_pool
balance roundrobin
option httpchk GET /
server proxy1 upstream1_ip:port check
server proxy2 upstream2_ip:port check
server proxy3 upstream3_ip:port check
Isso configura a rotação round-robin entre três proxies upstream com health checks.
Algoritmos de balanceamento de carga
- roundrobin — rotação sequencial
- leastconn — para o servidor com menos conexões
- random — seleção aleatória
- source — vínculo pelo IP do cliente (sticky)
Configuração avançada
Variáveis de ambiente
A maioria das ferramentas suporta as variáveis de ambiente padrão para proxies:
- HTTP_PROXY / http_proxy — proxy para requisições HTTP
- HTTPS_PROXY / https_proxy — proxy para requisições HTTPS
- NO_PROXY / no_proxy — lista de exclusões (endereços que ignoram o proxy)
- ALL_PROXY / all_proxy — proxy para todos os protocolos
SSL e certificados autoassinados
Proxies corporativos costumam usar seus próprios certificados SSL. Para trabalhar através deles, você precisa:
1. Obter o certificado CA do proxy com o administrador
2. Adicioná-lo ao repositório de certificados do sistema
3. Ou desativar a verificação SSL (apenas para testes)
Autenticação
Há suporte para dois métodos principais de autenticação:
Por usuário e senha — autenticação HTTP Basic padrão. As credenciais são enviadas a cada requisição. Formato da URL: http://user:pass@proxy_ip:port
Por endereço IP (whitelist) — seu IP é adicionado a uma lista branca. Não é preciso enviar credenciais.
Verificação
Depois de configurar, verifique:
1. Faça uma requisição de teste através do proxy
2. Confirme que o IP mudou
3. Verifique a velocidade da conexão
4. Confirme que não há vazamentos de DNS
Solução de problemas
O proxy não conecta
- Verifique se o endereço e a porta estão corretos
- Confirme que o firewall não está bloqueando a conexão
- Verifique a acessibilidade do proxy a partir da sua rede
Erros de SSL
- Para proxies corporativos, adicione o certificado CA
- Para testes, desative temporariamente a verificação SSL
- Atualize as bibliotecas SSL para a versão mais recente
Erros de autenticação
- Verifique o usuário e a senha
- Confirme que o formato das credenciais está correto
- Tente aplicar URL encoding aos caracteres especiais da senha
Boas práticas
- Use variáveis de ambiente — para flexibilidade e segurança
- Não deixe credenciais fixas no código — use variáveis de ambiente ou arquivos de configuração
- Configure exclusões — não passe localhost e endereços internos pelo proxy
- Documente as configurações — no README do projeto ou no wiki da equipe
- Teste após alterações — qualquer mudança de configuração exige verificação
Conclusão
A configuração correta do proxy garante o funcionamento estável das ferramentas e a segurança da conexão. Siga as recomendações deste guia e sempre verifique o funcionamento após a instalação.
