有没有办法在 Varnish 中指定后端的权重?如果我的主后端无法访问,我需要能够提供不同的页面。
答案1
如果您在单个后端前面安装了 Varnish,则可以定义后端无法访问时显示的 503 页面。您可以增加宽限时间,以便在后端发生故障时提供旧内容。
如果两个后端前面都有清漆,则可以定义一个带有健康检查的控制器,它将删除坏的后端,而让另一个后端做出响应。
您还可以拦截 503 以从具有静态页面的单独后端报告页面。导演实际上不支持权重,但由于 VCL 只是编译的 C 代码,所以您几乎无所不能。您可以查看 beresp 对象是否是错误,然后选择不同的后端,也许是用于错误消息的后端。
除非您在网络场前运行 varnish,否则将 503 页面放在 Varnish 中可能是最简单的。