Dolutech

Como Resolver Problemas de SSL com Varnish no WordPress

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.

how varnish works 1024x683 1
Entendendo o Varnish Cache

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

Como Adicionar o Código no wp-config.php

  1. Acesse o Servidor: Use um cliente FTP/SFTP ou o terminal (via SSH) para acessar os arquivos do seu WordPress.
  2. Abra o Arquivo wp-config.php: Encontre o arquivo wp-config.php na raiz da instalação do WordPress e edite-o.
  3. Cole o Código: Adicione o código mencionado acima antes da linha que diz /* That’s all, stop editing! Happy blogging. */.
  4. 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.

Sair da versão mobile