Лак кеш с NGINX файлами не обновляет WordPress
Похоже, что Varnish отсутствует или неправильно проверяет кэш. Когда я пытаюсь очистить свой кэш, я получаю 200 кешей, успешно очищенных, но моя страница не обновляется. Я просто делаю HTML изменения в моем footer.php (используя WordPress), но они не появляются. Я проверил мои заголовки, и они следующие:
HTTP/1.1 200 OK
Server: nginx/1.6.0
Content-Type: text/html
Last-Modified: Wed, 23 Apr 2014 18:47:17 GMT
ETag: "53580ab5-2"
Content-Length: 2
Accept-Ranges: bytes
Date: Fri, 10 Oct 2014 15:53:28 GMT
X-Varnish: 21166333
Age: 0
Via: 1.1 varnish
Connection: keep-alive
"Идентификатор запроса, который заполнил кэш", отсутствует в заголовке X-Varnish.
Поэтому я проверил заголовки, выполнив команду непосредственно с моего VPS, где размещен мой веб-сайт, и, кажется, работает нормально:
HTTP/1.1 200 OK
Server: nginx/1.6.0
Content-Type: text/html; charset=UTF-8
Vary: Accept-Encoding
X-Powered-By: PHP/5.4.33
X-Pingback: http://example.com/xmlrpc.php
Date: Fri, 10 Oct 2014 15:52:56 GMT
X-Varnish: 21166331 21166330
Age: 21
Via: 1.1 varnish
Connection: keep-alive
Вот мой файл VCL:
backend default {
.host = "127.0.0.1";
.port = "8080";
}
acl purge {
"localhost";
"127.0.0.1";
"173.10.93.222";
}
sub vcl_recv {
if (req.request == "BAN") {
error 200 "Cached Cleared Successfully.";
}
if (req.request == "PURGE") {
if (!client.ip ~ purge) {
error 405 "Not allowed.";
}
return(lookup);
}
if (req.url ~ "^/$") {
unset req.http.cookie;
}
}
sub vcl_hit {
if (req.request == "PURGE") {
set obj.ttl = 0s;
error 200 "Purged.";
}
}
sub vcl_miss {
if (req.request == "PURGE") {
error 404 "Not in cache.";
}
if (!(req.url ~ "wp-(login|admin)")) {
unset req.http.cookie;
}
if (req.url ~ "^/[^?]+.(jpeg|jpg|png|gif|ico|js|css|txt|gz|zip|lzma|bz2|tgz|tbz|html|htm)(\?.|)$") {
unset req.http.cookie;
set req.url = regsub(req.url, "\?.$", "");
}
if (req.url ~ "^/$") {
unset req.http.cookie;
}
}
sub vcl_fetch {
if (req.url ~ "^/$") {
unset beresp.http.set-cookie;
}
if (!(req.url ~ "wp-(login|admin)")) {
unset beresp.http.set-cookie;
}
}
Когда я проверяю сайт www.isvarnishworking.com, я получаю следующее:
Да! Вроде, как бы, что-то вроде! Varnish, кажется, отвечает на этот URL, но заголовок "Age" меньше 1.
Некоторая помощь будет оценена, у меня есть ощущение, что это что-то простое. Я должен отметить, что это работает на сервере NGINX.
Мой style.css, похоже, обновился нормально, просто DOM страницы не обновляется.
1 ответ
Несмотря ни на что, кажется, что Varnish работает после начальной загрузки страницы, но причина, по которой мои обновленные файлы не отображаются, из-за APC.