WordPress 0 visualizações

Como configurar o WordPress para funcionar corretamente atrás de um proxy/CDN sem loop de redirecionamento

Ver no WHMCS

Como configurar o WordPress para funcionar corretamente atrás de um proxy/CDN sem loop de redirecionamento

Oi, tudo bem? Aqui é a Sensei da GeHost 🥋 Hoje vamos resolver um probleminha bem clássico (e bem chato) pra quem usa um proxy ou uma CDN na frente do site WordPress: aquele famoso "redirecionamento excessivo" / loop infinito, onde o navegador fica dando voltas entre http:// e https:// e o site nunca carrega. Calma que a solução é simples, vamos passo a passo.

Por que isso acontece?

Quando você coloca um proxy ou uma CDN (tipo Cloudflare ou similar) na frente do seu site, a "conversa segura" (SSL/HTTPS) acontece entre o visitante e a CDN — e, dependendo da configuração, a conexão entre a CDN e o nosso servidor pode ser feita por HTTP "por dentro". O problema é que o WordPress, sozinho, não sabe disso: ele olha pra essa conexão interna, acha que o visitante está em HTTP, e manda redirecionar pra HTTPS de novo. A CDN recebe esse redirecionamento, manda o visitante de volta... e o ciclo se repete pra sempre. É esse "cabo de guerra" que gera o loop.

💡 Dica da Sensei: se o erro que aparece é "Esta página não está funcionando" com "ERR_TOO_MANY_REDIRECTS" (ou "o site redirecionou você muitas vezes"), é praticamente certeza de que é esse cenário de proxy/CDN + HTTPS.

Passo 1 — Confirme que o SSL do seu domínio está ativo

Antes de mexer em qualquer configuração, vale confirmar que o certificado SSL do seu site está instalado e válido diretamente no cPanel (isso é importante mesmo usando CDN, porque a conexão entre a CDN e o servidor também precisa ser segura).

  1. Acesse o cPanel com seu usuário e senha.
  2. Vá até a seção SSL/TLS e confira se o certificado do seu domínio está ativo e sem aviso de expiração.
Tela SSL/TLS Certificates do cPanel para emitir e instalar certificado SSL

Se o certificado estiver ok por aqui, o próximo passo é garantir que a CDN também está configurada para falar HTTPS com o nosso servidor — não só com o visitante. Na maioria das CDNs, essa opção costuma se chamar algo como "Full" ou "Full (Strict)" no modo de criptografia SSL (em vez de "Flexible"). Esse é o ajuste mais comum pra já resolver o loop de cara.

Passo 2 — Ajuste o wp-config.php para reconhecer o HTTPS vindo do proxy

Mesmo com a CDN em modo "Full/Strict", às vezes o WordPress ainda precisa de uma ajudinha para entender que a conexão é segura, porque o servidor "por dentro" recebe a requisição via HTTP. A forma correta de resolver isso é avisar o WordPress através do cabeçalho que a CDN envia (X-Forwarded-Proto).

  1. No cPanel, abra o Gerenciador de Arquivos.
  2. Entre na pasta public_html (ou na pasta onde o WordPress está instalado) e localize o arquivo wp-config.php.
  3. Clique com o botão direito e escolha Editar.
Gerenciador de Arquivos do cPanel mostrando a árvore de pastas incluindo public_html

Logo no início do arquivo, antes da linha que diz /* That's all, stop editing! Happy publishing. */, adicione este trecho:

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

Salve o arquivo. Esse trechinho diz ao WordPress: "ei, se o proxy avisou que a conexão original é HTTPS, considere como HTTPS" — e é exatamente isso que quebra o ciclo do loop.

⚠️ Atenção: o wp-config.php é um arquivo sensível do seu site. Se você não se sentir confortável em editá-lo, sem problemas — nossa equipe de suporte pode te ajudar com isso.

Passo 3 — Confira o endereço do site nas configurações do WordPress

Ainda dentro do painel do WordPress (wp-admin), vá em Ajustes → Geral e confira se os campos "Endereço do WordPress (URL)" e "Endereço do Site (URL)" estão com https:// (e não http://). Isso evita que o próprio WordPress gere links internos misturando os dois protocolos, o que também contribui para loops.

Passo 4 — Verifique o .htaccess

Se o site tiver alguma regra de redirecionamento forçado para HTTPS no arquivo .htaccess (comum em instalações que já tiveram SSL configurado manualmente antes da CDN entrar em cena), ela pode entrar em conflito com o redirecionamento da própria CDN. O ideal é manter apenas um responsável por forçar o HTTPS — de preferência a CDN — e deixar o .htaccess sem essa regra duplicada. Se não tiver certeza de mexer nisso sozinho, nossa equipe de suporte pode revisar com você.

Passo 5 — Limpe o cache

Depois de aplicar os ajustes acima, limpe:

  • O cache da CDN/proxy (na própria plataforma da CDN);
  • O cache de qualquer plugin de cache instalado no WordPress;
  • O cache do seu navegador (ou teste em uma aba anônima).

Pronto! Na maioria dos casos, o loop desaparece assim que essas três coisas estão alinhadas: certificado SSL ativo, CDN em modo Full/Strict e o WordPress reconhecendo o HTTPS vindo do proxy.

🌱 Ficou com dúvida em algum passo? Fala com a gente pelo painel.gehost.com.br — é sempre um prazer ajudar a destravar seu site. 💙
Precisa de Ajuda?

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