Entenda como corrigir redirecionamento infinito HTTPS no WordPress

Por Equipe Técnica AviraHost · 9 min de leitura · Atualizado em · WordPress, Cloudflare, SSL, HTTPS, AviraHost, Troubleshooting · 0

Redirecionamento infinito HTTPS no WordPress é uma falha de comunicação entre o servidor de origem e um serviço de proxy reverso (como Cloudflare), resultando no erro ERR_TOO_MANY_REDIRECTS. Para corrigir o loop de redirecionamento sem depender de plugins, siga estes passos:

  1. Acesse o painel do Cloudflare e altere o modo de criptografia SSL/TLS para "Completo" ou "Completo (Estrito)".
  2. Conecte-se ao seu servidor via FTP ou Gerenciador de Arquivos e localize o arquivo wp-config.php.
  3. Insira o código de reconhecimento do cabeçalho HTTP_X_FORWARDED_PROTO no topo do arquivo.
  4. Verifique se as constantes WP_HOME e WP_SITEURL utilizam o prefixo https:// no banco de dados.
  5. Limpe o cache do Cloudflare (Purge Everything) e o cache do seu navegador.

Pré-requisitos

  • Acesso administrativo ao painel da Cloudflare.
  • Acesso aos arquivos do site via FTP, SFTP ou SSH (recomenda-se PHP 8.4+).
  • Certificado SSL (mesmo que autoassinado) instalado no servidor de origem para modos "Completo".
  • Backup atualizado do arquivo wp-config.php e do banco de dados MySQL 8.4+.

Diagnóstico do erro ERR_TOO_MANY_REDIRECTS no WordPress

O erro de redirecionamento infinito ocorre principalmente quando o WordPress não consegue identificar que a conexão entre o visitante e o Cloudflare já está protegida por SSL. No cenário de "SSL Flexível", o Cloudflare se comunica com o seu servidor na porta 80 (HTTP). O WordPress, configurado para forçar HTTPS, recebe a requisição em HTTP e envia um comando de redirecionamento de volta para o navegador. O navegador solicita a versão HTTPS ao Cloudflare, que por sua vez solicita novamente via HTTP ao servidor, criando um ciclo sem fim.

Para confirmar se este é o seu problema, você pode utilizar o terminal Linux com o comando curl para inspecionar os cabeçalhos de resposta. Se você ainda não sabe como redirecionar um site http para https de forma nativa, o diagnóstico via linha de comando é essencial para identificar onde o loop começa.

curl -I https://seudominio.com.br

Output esperado: Se houver um loop, você verá múltiplas respostas HTTP/1.1 301 Moved Permanently apontando repetidamente para a mesma URL HTTPS, indicando que o CMS está forçando um redirecionamento que o proxy não está processando corretamente como finalizado.

Edição do arquivo wp-config.php para reconhecimento de SSL

A solução técnica mais eficiente e performática é informar ao WordPress que ele deve considerar a conexão como segura sempre que o cabeçalho X-Forwarded-Proto for enviado pelo Cloudflare. Isso elimina a necessidade de plugins pesados que tentam forçar o SSL via PHP em tempo de execução, o que pode aumentar o TTFB do site.

Para realizar essa alteração, você pode usar o Filezilla como software FTP ou editar diretamente via terminal se estiver em um ambiente Nginx 1.28+. Localize o arquivo wp-config.php na raiz da sua instalação e adicione o seguinte bloco de código logo após a tag de abertura <?php:

/**
 * Correção para Redirecionamento Infinito HTTPS atrás de Proxy Reverso (Cloudflare)
 */
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Atenção: Este código deve ser inserido antes da linha require_once ABSPATH . 'wp-settings.php';. Ao definir $_SERVER['HTTPS'] = 'on', o WordPress entende que a requisição original foi feita via porta 443, interrompendo qualquer tentativa automática de redirecionamento 301 interno.

Ajuste de SSL Flexível vs Completo no Cloudflare

Outra causa comum do redirecionamento infinito é a configuração do modo de criptografia no painel da Cloudflare. O modo "Flexível" é frequentemente a origem do problema em servidores modernos. Para garantir a segurança máxima e evitar loops, o ideal é utilizar o modo Completo (Estrito). Este modo exige que o seu servidor de origem tenha um certificado SSL válido (pode ser o Let's Encrypt ou o Certificado de Origem da própria Cloudflare).

Ao ativar o modo Completo, o Cloudflare passará a se comunicar com o seu servidor na porta 443. Se o seu servidor Nginx ou Apache estiver configurado corretamente para responder em HTTPS, o WordPress receberá a requisição já criptografada, eliminando a discrepância de protocolos que gera o erro ERR_TOO_MANY_REDIRECTS. Certifique-se de que as regras de firewall no seu servidor permitem tráfego de entrada na porta 443 para os IPs da Cloudflare.

Verificação de URLs no banco de dados via phpMyAdmin

Se após as alterações no código o erro persistir, é provável que as URLs base do site no banco de dados ainda estejam apontando para http://. O WordPress armazena essas informações na tabela wp_options. Você deve garantir que tanto o siteurl quanto o home utilizem o protocolo seguro.

Acesse o seu banco de dados (MariaDB 11.8+ ou MySQL 8.4+) e execute a seguinte query para verificar os valores atuais:

SELECT option_name, option_value FROM wp_options WHERE option_name IN ('siteurl', 'home');

Se os valores retornarem com http://, atualize-os imediatamente:

UPDATE wp_options SET option_value = 'https://seudominio.com.br' WHERE option_name IN ('siteurl', 'home');

Após a execução, limpe todos os caches de objeto (Redis/Memcached) e o cache de página para que as novas URLs sejam propagadas corretamente em todos os links internos do site.

Problemas comuns e como resolver

Sintoma: O site carrega, mas o CSS e as imagens estão quebrados

Causa: Isso é conhecido como "Mixed Content" (Conteúdo Misto). O HTML é carregado via HTTPS, mas os recursos estáticos ainda são chamados via HTTP.
Solução: No painel do Cloudflare, ative a opção "Automatic HTTPS Rewrites". No WordPress, certifique-se de que não há URLs "hardcoded" nos arquivos do tema apontando para HTTP.

Sintoma: Erro 521 Web Server is Down após mudar para SSL Completo

Causa: O Cloudflare tentou se conectar via porta 443, mas o seu servidor não tem um certificado SSL instalado ou a porta está fechada no firewall.
Solução: Instale um certificado Let's Encrypt no seu servidor ou gere um Certificado de Origem no Cloudflare e instale-o manualmente no Nginx/Apache.

Sintoma: O loop de redirecionamento ocorre apenas no wp-admin

Causa: A constante FORCE_SSL_ADMIN pode estar gerando conflito se o reconhecimento do proxy reverso não estiver funcionando.
Solução: Adicione define('FORCE_SSL_ADMIN', true); no wp-config.php logo abaixo do código de detecção do HTTP_X_FORWARDED_PROTO que inserimos anteriormente.

Perguntas frequentes sobre redirecionamento infinito HTTPS

Por que ocorre o erro de redirecionamento infinito com Cloudflare?

O erro geralmente acontece quando o Cloudflare está configurado no modo 'Flexível', enviando requisições via HTTP para o servidor de origem, enquanto o WordPress tenta forçar o HTTPS, criando um loop circular. A solução envolve sincronizar o modo de criptografia para 'Completo' ou informar ao WordPress que a conexão é segura via código.

Como corrigir o loop de redirecionamento sem acessar o painel do WordPress?

Você pode resolver o problema editando o arquivo wp-config.php via FTP ou Gerenciador de Arquivos. Adicione a instrução que reconhece o cabeçalho 'HTTP_X_FORWARDED_PROTO' enviado pelo Cloudflare, o que força o WordPress a entender que a conexão já está sob SSL.

Qual a diferença entre o SSL Flexível e o SSL Completo no Cloudflare?

O modo Flexível criptografa apenas o tráfego entre o visitante e o Cloudflare, enquanto a comunicação com o servidor de origem é feita via HTTP. O modo Completo exige que o servidor de origem também possua um certificado SSL, garantindo criptografia de ponta a ponta e evitando loops de redirecionamento comuns.

É necessário usar plugin para resolver o erro de HTTPS no Cloudflare?

Não, o uso de plugins para isso é desencorajado pois pode causar instabilidade se o plugin falhar. A correção via wp-config.php é mais leve, segura e definitiva, pois atua diretamente na camada de inicialização do CMS.

Conclusão

  • Sempre prefira o modo SSL Completo ou Estrito no Cloudflare para garantir criptografia real de ponta a ponta.
  • A edição manual do wp-config.php é a forma mais limpa de resolver conflitos de proxy reverso sem sobrecarregar o banco de dados.
  • Mantenha as URLs de siteurl e home sempre atualizadas para HTTPS no banco de dados para evitar falhas de carregamento de assets.

Leia também

Precisa de ajuda com Hospedagem?

Corrigir erros de infraestrutura exige um ambiente estável e suporte especializado. Nossos servidores são otimizados para WordPress com as versões mais recentes de PHP e Nginx.

Conheça nossos planos de hospedagem otimizada


Esta resposta foi útil?