gpt4 book ai didi

Varnish vcl_hash 以删除参数

转载 作者:行者123 更新时间:2023-12-01 05:36:16 25 4
gpt4 key购买 nike

我正在使用 Varnish 2.0.6 我在寻找编写 vcl_hash 函数的好文档时遇到了麻烦。

在缓存之前,我需要从我的 API 的 URL 中删除一些参数。特别是传递给跟踪分析但不更改结果的用户 ID。

URL: /api/browse?node=123&userid=3432432564363

我写了这篇文章,但如果 vcl_hash 函数需要以“hash”或“return(hash)”或 NOTHING 结尾,并且我需要处理所有情况或仅处理我的特殊情况,这对我来说并不重要。我不清楚我是覆盖方法还是扩展它。

我有:
sub vcl_hash {
if (req.url ~ "^/api/browse") {
set req.hash += regsuball(req.url,"&userid=([A-z0-9]+)","");
}
hash;
}

是不是缺少了什么?

最佳答案

我测试了一些东西,这个似乎有效:

sub vcl_hash {
if (req.url ~ "^/api/browse") {
set req.hash += regsuball(req.url,"&userid=([A-z0-9]+)","");
} else {
set req.hash += req.url;
}
set req.hash += req.http.host;
hash;
}

所以看起来你在重写 vcl_hash 时也必须处理默认情况。

关于 Varnish vcl_hash 以删除参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8494501/

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