【问题标题】:Varnish 4.1 - Call a restart according to the backend responseVarnish 4.1 - 根据后端响应调用重启
【发布时间】:2017-01-19 03:21:57
【问题描述】:

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

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

有什么想法吗?

【问题讨论】:

    标签: varnish varnish-vcl varnish-4


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-06-22
      • 2016-04-20
      • 2015-10-08
      • 2019-03-20
      • 2012-12-15
      • 1970-01-01
      • 2018-09-08
      • 1970-01-01
      相关资源
      最近更新 更多