Varnish 4.1 - 根据后端响应调用重启

时间:2016-09-11 15:17:56

标签: varnish varnish-vcl varnish-4

在Varnish 4之前,有人可以从vcl_fetch调用重启来启动另一个到达vcl_recv的流程。

在版本4中,逻辑被分离为客户端和后端,我需要能够根据后端响应调用重启。我认为可能的一个方向是使用vcl_synth作为后端和客户端之间的中间件,但后端不能发送特定的错误代码或只发送标准503错误。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您无法在Varnish 4.x中的vcl_backend_*期间重新启动请求。

您可以在return (abandon)期间vcl_backend_*然后在vcl_synth resp.status == 503中重新启动请求,但无法将vcl_backend_*中的任何信息传输到vcl_synth为了实现更智能的条件。

作为替代方案,您可以根据后端返回的内容在vcl_deliver期间执行重新启动。