#varnish-vcl
#varnish-vcl
Вопрос:
Я новичок в varnish и пытаюсь выяснить, каким образом varnish может ссылаться на внешний HTML-файл для обслуживания страницы с ошибкой, поскольку наличие html-кода в синтетической функции было бы слишком сложным, поскольку страница с ошибкой содержит слишком много визуализаций, спасибо
Ответ №1:
Если вы используете Varnish 4 (или более позднюю версию), вы можете сделать это с помощью std vmod, см. Документ : https://www.varnish-cache.org/docs/4.0/reference/vmod_std.generated.html#func-fileread
Я думаю, что vcl должен выглядеть следующим образом (не тестировался) :
vcl 4.0;
import std;
#other stuff
sub vcl_synth {
if (resp.status == 404) {
set resp.http.Content-Type = "text/html;";
synthetic(std.fileread("/etc/varnish/404.html"));
return (deliver);
}
}