Varnish 4.1 - 根据后端响应调用重启
Varnish 4.1 - Call a restart according to the backend response
在 Varnish 4 之前,可以从 vcl_fetch 调用重新启动以启动另一个流到达 vcl_recv。
在版本 4 中,逻辑被分离到客户端和后端,我需要能够根据后端响应调用重启。我认为可能的一个方向是使用 vcl_synth 作为后端和客户端之间的中间件,但后端无法发送特定的错误代码或消息,只能发送标准 503 错误。
有什么想法吗?
您无法在 vcl_backend_*
期间在 Varnish 4.x 中重新启动请求。
您可以 return (abandon)
在 vcl_backend_*
期间,然后在 vcl_synth
if resp.status == 503
重新启动请求,但是您不能将任何信息从 vcl_backend_*
传输到 vcl_synth
为了实现更智能的条件。
作为替代方案,您可以根据后端返回的内容在 vcl_deliver
期间执行重启。
在 Varnish 4 之前,可以从 vcl_fetch 调用重新启动以启动另一个流到达 vcl_recv。
在版本 4 中,逻辑被分离到客户端和后端,我需要能够根据后端响应调用重启。我认为可能的一个方向是使用 vcl_synth 作为后端和客户端之间的中间件,但后端无法发送特定的错误代码或消息,只能发送标准 503 错误。
有什么想法吗?
您无法在 vcl_backend_*
期间在 Varnish 4.x 中重新启动请求。
您可以 return (abandon)
在 vcl_backend_*
期间,然后在 vcl_synth
if resp.status == 503
重新启动请求,但是您不能将任何信息从 vcl_backend_*
传输到 vcl_synth
为了实现更智能的条件。
作为替代方案,您可以根据后端返回的内容在 vcl_deliver
期间执行重启。