gpt4 book ai didi

varnish - Varnish 类型转换 bool 值到字符串吗?

转载 作者:行者123 更新时间:2023-12-03 17:46:33 25 4
gpt4 key购买 nike

我们在现场环境中使用了 Varnish 4.0.3。
我们从vcl文件中的vcl_recv中提取以下代码:

set req.http.x-is-static-resource = true; #boolean assignment
# some code
if (req.http.x-is-static-resource == true) { # boolean == boolean ?
# some code
}

但是碰到这个错误:
Message from VCC-compiler:
Comparison of different types: STRING '==' BOOL
('/etc/varnish/utils.vcl' Line 429 Pos 37)
if (req.http.x-is-static-resource == true) {
------------------------------------##--------

我们在几种代码中找到了这种分配:
  • https://github.com/mattiasgeniar/varnish-4.0-configuration-templates/blob/master/default.vcl
  • https://www.varnish-cache.org/trac/wiki/VCLExampleHashAlwaysMiss

  • 我认为 Varnish 不应该碰到这个错误。我们分配一个 bool 类型,我们期望一个 bool 类型,对吗?

    我们缺少什么?

    谢谢

    最佳答案

    找到的分配不是req.http-req.http。[name]是访问请求 header [name]的一种方式。 header 是字符串,而不是 bool 值。不过,您仍然可以进行一些小的更改来完成此工作:

    set req.http.x-is-static-resource = "true";
    [...]

    if (req.http.x-is-static-resource) { [...]

    关于varnish - Varnish 类型转换 bool 值到字符串吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31287730/

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