лак, ссылающийся на внешний файл

#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);
  }
}