Contornar o Varnish para grandes Backups do WP STAGING Remote Sync (correção de vhost Nginx)

O lançamento do Remote Sync é um marco para o WP STAGING. Ao permitir aos utilizadores sincronizar sites WordPress entre diferentes servidores, estamos a responder a uma das funcionalidades mais pedidas da nossa história.

No entanto, mover quantidades massivas de dados – às vezes excedendo 30 GB – introduz desafios únicos do lado do servidor. Um obstáculo comum é a Cache Varnish. Embora o Varnish seja excelente para acelerar o teu site, pode atuar como um “gargalo” durante transferências de grandes quantidades de dados.

O problema: limites de buffer do Varnish

Quando o Remote Sync arranca, cria um ficheiro de Backup comprimido no site de origem e transfere-o para o destino. Se o Varnish estiver ativo no teu servidor, fica entre o Nginx e a tua aplicação.

O Varnish tem frequentemente um limite por defeito para tamanhos de objeto (às vezes tão baixo como 512MB). Quando o ficheiro de Backup do WP STAGING excede este limite, o Varnish termina a ligação, fazendo a sincronização falhar. Mesmo que “excluas” o caminho num painel de controlo como o CloudPanel, o Nginx continua a encaminhar o pedido através do Varnish, levando ao mesmo gargalo.

A solução: contornar o Varnish via vhost

Para garantir uma transferência estável de grandes ficheiros de Backup, tens de dizer ao Nginx para contornar completamente o Varnish para a pasta de Backups do WP STAGING. Isto faz-se editando a configuração do Virtual Host (vhost) do teu site.

1. Identifica o caminho do Backup

A pasta padrão onde o WP STAGING guarda os ficheiros temporários de sincronização é: /wp-content/uploads/wp-staging/backups/

2. Atualiza a tua configuração do Nginx

Adiciona o seguinte snippet ao teu ficheiro vhost do Nginx. Esta diretiva diz ao servidor para enviar os pedidos desta pasta específica diretamente para o backend (geralmente na porta 8080), saltando o serviço Varnish (geralmente na porta 6081) e desativando o buffering.

Nginx

# Large WP STAGING backup files - BYPASS VARNISH
location ^~ /wp-content/uploads/wp-staging/backups/ {
    proxy_pass http://127.0.0.1:8080;
    proxy_buffering off;
    proxy_request_buffering off;
    proxy_set_header Host              $host;
    proxy_set_header X-Real-IP         $remote_addr;
    proxy_set_header X-Forwarded-For   $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    add_header Cache-Control "private, no-store" always;
}

Porque é que isto funciona

  • proxy_pass para 8080: Ao apontar diretamente para a porta do backend, evitamos totalmente a camada Varnish.
  • proxy_buffering off: Isto impede o Nginx de tentar “guardar” o ficheiro na sua própria cache antes de o servir, o que é essencial para ficheiros de 10GB ou mais.
  • Modificador ^~: Isto garante que esta regra tem prioridade sobre outros padrões com expressões regulares, assegurando que a exclusão é estritamente aplicada.

Alternativa: desativação temporária

Se não te sentes à vontade a editar ficheiros vhost, podes desativar temporariamente o Varnish no teu servidor antes de iniciar um Remote Sync grande e reativá-lo assim que a fase de “Restore” estiver concluída. No entanto, o método vhost acima é a solução recomendada de “configurar e esquecer”.

Updated on May 23, 2026

Alaa Salama

Autor: Alaa Salama

Trabalho na área de suporte há mais de uma década porque realmente gosto do lado humano da tecnologia. Seja resolvendo um problema complexo no WordPress ou desenvolvendo plugins personalizados e trechos de código para simplificar fluxos de trabalho, meu objetivo é sempre reduzir atritos e ajudar as pessoas a trabalhar de forma mais inteligente. Para mim, não há nada mais gratificante do que ver uma solução que criei melhorar o dia de outra pessoa.

Quando estou offline, geralmente ainda estou “por baixo do capô” de alguma coisa. Sou apaixonado por otimização de servidores e eletrônica DIY, e muitas vezes passo meu tempo livre em projetos de casa inteligente e reparos de hardware. Valorizo especialmente o tempo que passo na minha oficina em casa com meus filhos. Juntos, fazemos de tudo, desde consertos domésticos até projetos criativos, cultivando o prazer de construir coisas feitas para durar.