WordPress 35 visualizações

Como configurar o WordPress para rodar atrás de um proxy reverso corretamente

Ver no WHMCS

Como configurar o WordPress para rodar atrás de um proxy reverso corretamente

Oi! Aqui é a Sensei da GeHost 🙋‍♀️ Se você chegou até aqui, provavelmente está usando algum serviço de proxy reverso ou CDN (tipo Cloudflare, um balanceador de carga ou outro serviço parecido) na frente do seu site WordPress — e algo não está batendo certo: loop de redirecionamento, cadeado que não aparece, ou o WordPress "achando" que o site é HTTP quando na verdade é HTTPS.

Calma, isso é super comum e tem solução. Vamos passo a passo, com calma, do jeitinho que você precisa.

O que é um proxy reverso (em palavras simples)

Um proxy reverso é um "intermediário" que fica entre o visitante e o seu site. O visitante conversa com o proxy, e o proxy conversa com a sua hospedagem. O problema é que o WordPress, por padrão, não sabe que existe esse intermediário — então ele pode se confundir sobre qual é o protocolo real (HTTP ou HTTPS) usado pelo visitante, e isso gera os sintomas abaixo.

Sinais de que você está com esse problema

  • Mensagem de erro "Redirecionamento em excesso" ou "Too many redirects" ao abrir o site.
  • O site abre, mas o navegador mostra o cadeado como "não seguro" mesmo com SSL instalado.
  • Links internos, imagens ou CSS carregando como http:// em vez de https://.
  • Login do wp-admin entra em loop e não consegue completar.

Passo a passo

1. Confirme que o certificado SSL está ativo na hospedagem

Antes de mexer em qualquer configuração do WordPress, confira no cPanel se o certificado SSL do seu domínio está instalado e válido. Acesse SSL/TLS no painel.

Tela SSL/TLS do cPanel para emitir e instalar certificado
Dica da Sensei: se você usa um proxy/CDN externo, é comum existir SSL nas duas pontas — um certificado entre o visitante e o proxy, e outro entre o proxy e a sua hospedagem. Os dois precisam existir para tudo funcionar sem erro de "conexão não segura".

2. Ensine o WordPress a reconhecer o HTTPS vindo do proxy

Esse é o coração da solução. Quando o tráfego passa por um proxy, o WordPress recebe a conexão internamente como se fosse HTTP simples — mesmo que o visitante esteja em HTTPS. Isso confunde o próprio WordPress e pode gerar o loop de redirecionamento.

A correção é adicionar um trechinho de código no arquivo wp-config.php do seu site. Você pode editar esse arquivo pelo Gerenciador de Arquivos do cPanel:

Gerenciador de Arquivos do cPanel mostrando a árvore de pastas
  1. No Gerenciador de Arquivos, entre na pasta public_html (ou na pasta do domínio, se for um addon domain).
  2. Clique com o botão direito em wp-config.php e escolha Editar.
  3. Procure a linha que diz /* That's all, stop editing! Happy publishing. */.
  4. Logo antes dessa linha, cole o trecho abaixo:
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';
}

Esse código diz ao WordPress: "se o proxy avisar que o visitante veio por HTTPS, trate essa conexão como segura". É a peça que resolve a maior parte dos loops de redirecionamento.

Dica da Sensei: faça sempre um backup do wp-config.php antes de editar (basta copiar o conteúdo pra um bloco de notas). Um erro de digitação nesse arquivo pode tirar o site do ar até ser corrigido.

3. Confira a URL do site nas configurações do WordPress

Agora entre no painel do WordPress (wp-admin) e vá em Configurações → Geral. Confirme que os campos Endereço do WordPress (URL) e Endereço do Site (URL) estão com https:// no início, e não http://. Salve as alterações.

4. Evite redirecionamento duplicado no .htaccess

Se o seu proxy/CDN já força o redirecionamento de HTTP para HTTPS, e o seu .htaccess também tem uma regra forçando esse redirecionamento, as duas regras podem entrar em conflito e causar loop. Se você (ou quem configurou o proxy) adicionou manualmente uma regra de força de HTTPS no .htaccess, é melhor deixar apenas uma das duas pontas fazendo esse trabalho — de preferência o proxy, já que ele é o primeiro a receber a conexão.

5. Se usa um serviço de CDN/proxy externo, revise o modo de SSL dele

Muitos serviços de proxy/CDN têm opções de modo de criptografia (algo como "flexível", "completo" ou "completo (estrito)"). O modo "flexível" costuma ser justamente a causa de loops, porque ele fala HTTPS com o visitante mas HTTP com a hospedagem — e, se o passo 2 acima não estiver feito, o WordPress se perde. Prefira sempre o modo que usa HTTPS nas duas pontas (com certificado válido na hospedagem, como você conferiu no passo 1).

6. Teste tudo

  • Abra o site em uma aba anônima do navegador.
  • Confirme que o cadeado aparece normalmente, sem avisos.
  • Faça login no wp-admin e navegue por algumas páginas.
  • Confira se imagens e menus carregam certinho (sem "conteúdo misto").
Dica da Sensei: se depois de tudo isso ainda aparecer "conteúdo misto" (parte do site em HTTPS e parte em HTTP), o motivo costuma ser links antigos salvos como http:// direto no banco de dados do WordPress — nesse caso, um plugin de "busca e substituição de URLs" resolve, mas essa já é uma etapa separada da configuração de proxy em si.

Quando chamar o suporte da GeHost

Se você seguiu os passos acima e ainda assim o site não estabiliza, ou se não tem certeza de qual modo o seu proxy/CDN está usando, é só abrir um chamado com a gente pelo painel.gehost.com.br. A gente confere o lado da hospedagem (certificado, configuração do domínio) com você — combinado?

Precisa de Ajuda?

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