是否可以从已经通过之前的hash_data()调用添加的哈希中删除项目?
我有一个清漆3服务器在标准LAMP堆栈前运行,并使用每个清漆文档的Maxmind geoip VMOD,除了有一个包含的VCL文件,我没有权限进行编辑,基本上有: / p>
sub vcl_hash {
if (req.http.X-Geo-Country) {
hash_data(req.http.X-Geo-Country);
}
}
我知道我可以多次调用vcl_hash并按顺序连接,所以我想做的就是下面的内容(un_hash_data不存在),所以只主页哈希基于req.http.X-Geo-Country。 是否有类似un_hash_data()的东西可以从哈希中删除它。
sub vcl_hash {
if (req.url == "/") {
un_hash_data(req.http.X-Geo-Country);
}
}
答案 0 :(得分:0)
在vcl_recv中,您可以针对与主页不匹配的网页/请求取消设置req.http.X-Geo-Country。如果X-Geo-Country未设置/为空 - 将生成相同的哈希值:)