Сценарии Varnish кажутся достаточно надежными для vcl, но я пока не могу понять, как заставить его делать то, что мне нужно. Я запускаю различные сайты из одной и той же кодовой базы и хочу, чтобы для большинства каталогов был установлен унифицированный кэш лаков, поэтому
x.mysite.org / theme / something.gif и y.mysite.org/theme/something.gif не должны хранить две копии одного и того же gif-файла в кэше лака
Тем не менее
x.mysite.org / file.php / 1 и y.mysite.org/file.php/1 должны иметь отдельные кэши на основе URL.
Также mysite.org - это совершенно другой сайт, который имеет свой собственный кеш.
Мое текущее направление выглядит следующим образом
sub vcl_fetch {
if (req.url ~ ".*\.org/file\.php") {
# do normal site specific caching
} elseif (req.url ~ "^+?\.mysite.org") {
# cache all found material in a base directory so everyone knows where to look
set req.url = regsub(req.url, "(.*\.org)(.*)", "base.mysite.org\2");
} else {
# do normal site specific caching for base site
}
}
sub vcl_recv {
# do I need to do something here to look in base.mysite.org
}
Я могу сделать base.mysite.org реальным сайтом, обслуживаемым Apache, если необходимо, чтобы запросы могли проваливаться, если кеша нет.
Я на пути записи, любая помощь.