WordPress 32 visualizações

Como configurar o WordPress para funcionar corretamente atrás de uma CDN/proxy

Ver no WHMCS

Como configurar o WordPress para funcionar corretamente atrás de uma CDN/proxy

Oi! Sensei aqui de novo. Se você ativou uma CDN (rede de distribuição de conteúdo) ou algum tipo de proxy na frente do seu site WordPress — tipo o Cloudflare, por exemplo — e de repente começaram a aparecer problemas estranhos (cadeado sumindo, loop de redirecionamento, imagens quebradas, cache "grudado"), respira: isso é super comum e tem solução. Vamos passo a passo, com calma, do jeitinho que eu explicaria pra minha avó. 😊

Por que isso acontece?

Quando você coloca uma CDN/proxy na frente do site, o visitante não fala mais diretamente com o seu servidor de hospedagem — ele fala primeiro com a CDN, que repassa a conversa pro servidor. Isso é ótimo pra velocidade e proteção, mas o WordPress precisa ser avisado disso, senão ele se confunde sobre coisas básicas como "o visitante está usando HTTPS?" ou "qual é o IP real de quem está acessando?".

Sinais de que seu WordPress está com problema atrás da CDN

  • Erro de "redirecionamento em excesso" (ERR_TOO_MANY_REDIRECTS) ao abrir o site;
  • Conteúdo misto: o cadeado de HTTPS não aparece ou aparece "quebrado";
  • Alterações no site (textos, plugins, imagens) que não aparecem pra ninguém — parece que ficaram "presas" no cache;
  • Plugins de segurança/login bloqueando todo mundo, como se todos os visitantes tivessem o mesmo IP.

Se você reconheceu algum desses, vamos resolver um por um.

Passo a passo

1. Confira a configuração de DNS do domínio

O primeiro passo é garantir que o DNS do seu domínio está apontando corretamente — seja direto pro servidor da GeHost, seja passando pela CDN (quando ela usa o esquema de "proxy" através dos próprios registros DNS). Você confere e ajusta isso pelo Editor de Zona de DNS no seu cPanel.

Editor de Zona de DNS do cPanel, com a lista de domínios e os botões para gerenciar registros A, CNAME e MX
Dica da Sensei: se você não tem certeza de qual registro mexer, é sempre mais seguro chamar o suporte antes de alterar o DNS — um erro aqui pode tirar o site do ar pra todo mundo, incluindo o e-mail.

2. Deixe o modo SSL da CDN compatível com o certificado do seu cPanel

Esse é o pulo do gato pra resolver o famoso "loop de redirecionamento". A maioria das CDNs oferece opções de modo SSL (algo como "Flexível", "Completo" ou "Completo Rígido"). Se a sua CDN estiver no modo "Flexível", ela conversa com o visitante em HTTPS, mas conversa com o seu servidor em HTTP simples — e se o seu WordPress estiver configurado para forçar HTTPS, ele vê essa conexão em HTTP e manda redirecionar de novo... e de novo... e de novo. Loop infinito!

A solução: primeiro, confirme que seu site tem um certificado SSL válido instalado no cPanel (isso é gratuito e a GeHost já disponibiliza). Depois, na CDN, escolha o modo "Completo" ou "Completo Rígido" (Full / Full Strict) em vez de "Flexível". Assim a conversa fica em HTTPS do início ao fim.

Tela de SSL/TLS Certificates do cPanel, para emitir e instalar o certificado do domínio

3. Ensine o WordPress a reconhecer o HTTPS "por trás" do proxy

Mesmo com o SSL certo, às vezes o WordPress ainda não entende que a conexão é segura, porque tecnicamente quem fala com o servidor é a CDN (por dentro, em HTTP). Pra resolver isso, adicionamos um trechinho no arquivo wp-config.php, que fica na raiz do seu site (geralmente na pasta public_html). Você pode editá-lo pelo Gerenciador de Arquivos do cPanel.

Gerenciador de Arquivos do cPanel mostrando a árvore de pastas, incluindo a public_html
  1. Abra o Gerenciador de Arquivos e localize o arquivo wp-config.php;
  2. Clique em "Editar" (faça um backup do arquivo antes, por segurança);
  3. Logo no início do arquivo, antes da linha "/* That's all, stop editing! */", adicione este trecho:

if ($_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') { $_SERVER['HTTPS'] = 'on'; }

Esse comando diz pro WordPress: "ei, se a CDN me avisou que o visitante veio por HTTPS, considere que estamos em HTTPS também" — e isso já resolve boa parte dos loops e dos avisos de conteúdo misto.

Dica da Sensei: se você não se sente confortável editando código, sem problema nenhum — chame o suporte e a gente te ajuda com esse ajuste.

4. Confirme a URL do site nas configurações do WordPress

Entre em Configurações → Geral no painel do WordPress e confira se o "Endereço do WordPress (URL)" e o "Endereço do Site (URL)" começam com https://. Se ainda estiverem com http://, atualize para https://. Isso evita que o próprio WordPress gere links "misturados" (parte segura, parte não).

5. Ajuste o cache da CDN para não "prender" o site

Depois de qualquer mudança no site (texto, plugin, tema), lembre-se de limpar o cache da CDN — a maioria delas tem um botão de "Purge Cache" no painel dela. Também é uma boa prática configurar a CDN para não guardar em cache páginas como o login (wp-admin, wp-login.php) e o carrinho de compras, se você tiver uma loja — assim você evita comportamentos estranhos nessas áreas.

6. Recupere o IP real do visitante

Com a CDN na frente, plugins de segurança e estatísticas podem passar a enxergar sempre o mesmo IP (o da CDN) em vez do IP de cada visitante. Isso confunde sistemas de bloqueio por tentativa de login e relatórios de acesso. Muitos plugins de segurança do WordPress têm uma opção para "usar o cabeçalho X-Forwarded-For" ou "confiar em proxy reverso" — vale a pena checar as configurações do seu plugin de segurança e ativar essa opção, se existir.

7. Teste tudo com calma

  • Abra o site numa aba anônima e confirme que o cadeado de HTTPS aparece normalmente;
  • Navegue por algumas páginas pra garantir que não há redirecionamento em excesso;
  • Faça login no wp-admin e veja se está tudo tranquilo por lá também;
  • Se tiver loja virtual, teste o fluxo de compra até o final.

Resumo da Sensei

CDN e proxy são ótimos aliados do seu site, mas pedem uma "apresentação" ao WordPress: SSL no modo certo, o aviso de HTTPS no wp-config.php, a URL certinha nas configurações, e um cuidado extra com cache e IP. Fazendo esses ajustes, seu site fica rápido, protegido e sem sustos. E se travar em qualquer parte do caminho, é só chamar o suporte — estamos aqui pra isso! 💙
Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.