Saiba como integrar sua solução atual de balanceamento de carga ao Cloudflare.
Visão geral
Ao integrar com o Cloudflare, considere as seguintes práticas recomendadas se for usar balanceadores de carga no ambiente host do seu site:
- Balanceamento de carga de DNS da Cloudflare
- HTTP keep-alive
- Cookies de sessão
- Railgun
Balanceamento de carga DNS
A funcionalidade Load Balancing do Cloudflare aceita o balanceamento de carga baseado em DNS com health checks ativos nos servidores de origem. Ele se expande na rede DNS Anycast existente da Cloudflare para fornecer failover resiliente a DDoS (orientando em torno de origens não íntegras) e fazendo o direcionamento geográfico (direcionando os usuários a conjuntos de origens específicos).
HTTP keep-alive (conexão persistente HTTP)
O Cloudflare mantém conexões vivas para melhorar o desempenho e reduzir o custo de conexões TCP recorrentes na transação da solicitação, à medida que o Cloudflare redireciona o tráfego do cliente da sua rede de borda para a origem do site.
Verifique se as conexões HTTP keep-alive estão ativadas em sua origem. O Cloudflare reutiliza conexões TCP abertas por até 15 minutos (900 segundos) após a última solicitação HTTP. As origens fecham as conexões TCP se houver muitas abertas. O HTTP keep-alive ajuda a evitar redefinições prematuras de conexões para solicitações enviadas por proxy pelo Cloudflare.
Cookies de sessão
Se estiver usando cookies HTTP para rastrear e vincular sessões do usuário a um servidor de aplicativos específico no Load Balancer, é melhor configurá-lo para analisar solicitações HTTP pelos cabeçalhos de cookie e direcionar cada solicitação ao servidor de aplicação correto, mesmo que as solicitações HTTP compartilhem a mesma conexão TCP devido ao keep-alive.
Por exemplo: os Load Balancers F5 BIG-IP definirão um cookie de sessão (se não houver nenhum) no início de uma conexão TCP e ignorarão todos os cookies passados nas solicitações HTTP subsequentes feitas no mesmo soquete TCP. Isso tende a quebrar a afinidade da sessão porque o Cloudflare envia várias sessões HTTP diferentes na mesma conexão TCP. (Afinidade de sessão baseada em cookie HTTP).
Railgun (WAN Optimization)
A configuração ideal ao usar o Railgun e um Load Balancer é colocar o Railgun Listener na frente do Load Balancer. Colocar o listener na frente é a configuração ideal, porque assim o LB pode manipular as conexões HTTP/S normalmente, visto que é difícil equilibrar a carga de conexões TLS de longa duração entre o sender/listener.

Como o Railgun está trabalhando como um proxy reverso HTTP, as configurações do Load Balancer devem corresponder às ativadas se o Railgun não estiver em vigor (ex.: as conexões HTTP keep-alive devem ser ativadas e definidas para um tempo limite de 90 segundos).
Se o Railgun for colocado atrás do Load Balancer, essa configuração ainda funcionará, mas serão necessárias etapas adicionais para evitar interrupções no tráfego do site:
- Configure o arquivo railgun-nat.conf para definir o endereço interno dos hosts que o Railgun otimizará (para evitar que a solicitação saia para a Internet e volte para o LB para só então ser encaminhada à origem).
- Confirme se não existem regras de firewall que impeçam ou limitem a taxa de tráfego entre o listener e o servidor de origem.
- Confirme se a porta 2408 está aberta e passou pelo LB sem nenhum impedimento para a conexão TLS entre o listener e o remetente.