O uso de Varnish como um acelerador de cache pode melhorar significativamente o desempenho de sites WordPress, garantindo tempos de carregamento mais rápidos e uma melhor experiência para os usuários. No entanto, quando você usa Varnish em conjunto com SSL (Secure Sockets Layer), podem surgir problemas, como loops de redirecionamento ao tentar acessar o painel administrativo do WordPress. Este artigo vai explicar como resolver esses problemas, incluindo a adição de código específico no arquivo wp-config.php
.
Entendendo o Problema de Redirecionamento SSL com Varnish
O Varnish não suporta SSL de forma nativa. Portanto, é comum que a configuração do SSL seja feita com um proxy reverso, como Nginx ou Apache, antes de passar a requisição para o Varnish. Isso pode causar um problema em que o WordPress não reconhece corretamente se a conexão é segura, resultando em loops de redirecionamento ao acessar o /wp-admin
.
Para resolver esse problema, é necessário fazer ajustes no arquivo wp-config.php
do WordPress para garantir que o WordPress reconheça a conexão SSL corretamente quando o Varnish está em uso.
Código para Resolver Problemas de SSL com Varnish
Adicionar o código abaixo no arquivo wp-config.php
do WordPress pode ajudar a resolver os problemas de redirecionamento SSL:
// SSL + Varnish
define('FORCE_SSL_LOGIN', true);
define('FORCE_SSL_ADMIN', true);
define('CONCATENATE_SCRIPTS', false);
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
$_SERVER['HTTPS'] = 'on';
}
Explicação do Código
define('FORCE_SSL_LOGIN', true);
: Força que a página de login seja carregada sobre SSL, garantindo a segurança das credenciais dos usuários.define('FORCE_SSL_ADMIN', true);
: Assegura que todo o acesso ao painel administrativo do WordPress seja feito via SSL.define('CONCATENATE_SCRIPTS', false);
: Desabilita a concatenação de scripts no painel administrativo para evitar problemas de carregamento com configurações de cache.- Bloco
if
: Verifica se a requisição contém o cabeçalhoHTTP_X_FORWARDED_PROTO
, que é utilizado por proxies para informar se a conexão original foi feita por HTTPS. Se for o caso, a variável$_SERVER['HTTPS']
é configurada como ‘on’, o que faz com que o WordPress reconheça a conexão como segura.
Como Adicionar o Código no wp-config.php
- Acesse o Servidor: Use um cliente FTP/SFTP ou o terminal (via SSH) para acessar os arquivos do seu WordPress.
- Abra o Arquivo
wp-config.php
: Encontre o arquivowp-config.php
na raiz da instalação do WordPress e edite-o. - Cole o Código: Adicione o código mencionado acima antes da linha que diz
/* That’s all, stop editing! Happy blogging. */
. - Salve e Teste: Salve o arquivo e faça um teste acessando o painel administrativo do WordPress para verificar se o problema de redirecionamento foi resolvido.
Outras Dicas para Gerenciar SSL com Varnish
Além de ajustar o wp-config.php
, considere as seguintes práticas para garantir um ambiente mais seguro e eficiente:
1. Configure o Proxy Reverso Corretamente
Certifique-se de que o proxy reverso (Nginx ou Apache) esteja configurado para adicionar o cabeçalho HTTP_X_FORWARDED_PROTO
às requisições enviadas ao Varnish. Isso ajuda a manter a integridade da informação sobre o protocolo original (HTTP ou HTTPS).
# Exemplo de configuração Nginx para adicionar o cabeçalho
proxy_set_header X-Forwarded-Proto $scheme;
2. Utilize Certificados SSL de Qualidade
Opte por certificados SSL confiáveis, como aqueles emitidos por autoridades certificadoras (CA) renomadas, para garantir que a criptografia seja segura e reconhecida pelos navegadores.
3. Teste a Configuração em um Ambiente de Desenvolvimento
Sempre teste alterações críticas, como edições no wp-config.php
, em um ambiente de desenvolvimento antes de aplicá-las ao site de produção. Isso ajuda a prevenir possíveis interrupções no funcionamento do site.
Por Que Esse Código Funciona?
Quando você está usando Varnish em conjunto com um proxy reverso para SSL, o cabeçalho HTTP_X_FORWARDED_PROTO
é geralmente adicionado para indicar que a conexão original foi feita com HTTPS. O WordPress, por padrão, não verifica esse cabeçalho, então ele precisa ser configurado manualmente para reconhecer a conexão como segura.
Esse código faz exatamente isso, ajustando a variável $_SERVER['HTTPS']
para que o WordPress reconheça a conexão SSL e evite loops de redirecionamento.
Conclusão
O uso de Varnish com WordPress e SSL pode ser desafiador, mas com a configuração adequada, é possível evitar problemas comuns, como loops de redirecionamento. Adicionar o código correto no arquivo wp-config.php
garante que o WordPress reconheça a conexão segura e permita o acesso fluido ao painel administrativo.
Essa configuração é uma etapa essencial para quem deseja combinar o desempenho de Varnish com a segurança do SSL no WordPress. Certifique-se de sempre testar suas alterações em um ambiente de desenvolvimento ou de ter backups atualizados antes de modificar arquivos críticos do site.
Amante por tecnologia Especialista em Cibersegurança e Big Data, Formado em Administração de Infraestrutura de Redes, Pós-Graduado em Ciências de Dados e Big Data Analytics e Machine Learning, Com MBA em Segurança da Informação, Escritor do livro ” Cibersegurança: Protegendo a sua Reputação Digital”.