Não é possível emitir solicitação PURGE para o cache do Varnish
-
12-12-2019 - |
Pergunta
Estou usando o Varnish 3 na frente do nginx executando vários sites WordPress.Estou usando um default.vcl recomendado e usado por muitos sites WordPress grandes.
padrão.vcl: http://pastebin.com/KaSdvuRS
Estou usando o W3 Total Cache, que tem a opção de limpar automaticamente ao limpar o cache.Também testei a instalação do plugin Varnish HTTP Purge para limpar postagens/páginas ao editá-las.Nenhum dos dois pareceu funcionar, então testei a sessão interativa em ssh com curl.
Estou conectado ao SSH na caixa verniz/nginx e digito o seguinte comando para testar a eliminação de verniz:
curl -X PURGA http://www.exemplo.com
O resultado é:
<head>
<title>405 Not allowed.</title>
</head>
<body>
<h1>Error 405 Not allowed.</h1>
<p>Not allowed.</p>
<h3>Guru Meditation:</h3>
<p>XID: 265824636</p>
<hr>
<p>Varnish cache server</p>
</body>
Alguma idéia do que estou perdendo?Este arquivo vcl é muito semelhante ao recomendado por Varnish-Cache.org para WordPress e é a configuração de limpeza que vejo recomendada em todos os lugares.
Solução
Provavelmente, você está se conectando à sua caixa Varnish por meio do IP público e o Varnish também verá uma conexão IP pública, não local.Sua ACL para limpezas agora permite apenas localhost/127.0.0.1.Você também pode estender essa lista com o endereço IP público do seu servidor.
Como alternativa, tente depurar removendo a verificação da ACL e simplesmente permitindo expurgos de todos, apenas para excluir a ACL como culpada.