gpt4 book ai didi

varnish - Varnish 是否可以检查 vcl_fetch 中的请求内容(不仅仅是 header )并使用react?

转载 作者:行者123 更新时间:2023-12-03 17:45:15 24 4
gpt4 key购买 nike

我知道默认的 Varnish vcl_fetch看着 beresp.ttlberesp.http.*引用从后端返回的 HTTP header ,但是否也可以检查响应的内容?我们的后端有时会因垃圾 HT​​ML 而失败,但状态为 200 OK。我们希望能够对结果运行正则表达式并在可能的情况下重试。

我知道 Varnish <= 3.0 的版本无论如何都不会流式传输并在传递给客户端之前下载整个对象,但我在 beresp 中找不到合适的字段在文档中 - 我正在寻找类似 beresp.http.content 的内容

最佳答案

是和不是。它是可访问的,但只能通过内联 C,而不是 VCL 配置(据我所知)。但是,由于解析正文文本的额外开销,它并不容易做到并且不推荐。也就是说,您可以在这里看到类似您正在寻找的东西的尝试:rewrite vmod for varnish 3

如果您的垃圾 HT​​ML 响应具有特定长度,您可以根据响应的 Content-Length header 重试请求。或者,您可以考虑添加客户端 JS 来评估 HTML 并向 URL 发出 AJAX 请求以清除任何垃圾页面的缓存。最后,如果您知道只有站点的特定子集返回无效结果,您可以尝试通过 OpenResty 和 LuaJIT 或启用 subs 模块的 nginx 代理这些 URL,并在那里进行正文解析。

关于varnish - Varnish 是否可以检查 vcl_fetch 中的请求内容(不仅仅是 header )并使用react?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28416314/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com