Как я могу сказать Varnish показывать пользовательскую html-страницу ошибки вместо стандартного сообщения «Guru Meditation» ?
15
Как я могу сказать Varnish показывать пользовательскую html-страницу ошибки вместо стандартного сообщения «Guru Meditation» ?
Ответы:
Varnish FAQ предлагает использовать vcl_error для этого (и это, как я сделал это):
Это VCL по умолчанию для страницы ошибок:
если вам нужна пользовательская версия, просто переопределите функцию в вашей конфигурации и замените разметку в
synthetic
операторе.Если вы хотите иметь разную разметку для разных кодов ошибок, вы можете сделать это довольно легко:
источник
Обратите внимание, что приведенные выше ответы относятся к Varnish 3. Поскольку в вопросе не указывается информация о версии, представляется целесообразным включить ответ для версии 4 также, поскольку он изменился.
Надеюсь, это спасет людей от прочтения приведенных выше ответов и размещения vcl_error в их V4 VCL :)
Встроенный VCL для лака 4.0
Также обратите внимание, что если вы хотите выдать ошибку из вашего VCL, вы больше не используете функцию «error», вместо этого вы должны сделать:
Кроме того, через эту функцию автоматически маршрутизируются ошибки 413, 417 и 503 из серверной части.
источник
sub vcl_backend_error
, как вы можете видеть в serverfault.com/a/665917/102757 и serverfault.com/a/716767/102757