varnish cast boolean to string?

时间:2015-07-08 08:47:34

标签: varnish varnish-vcl

我们在现场环境中使用了清漆4.0.3。 我们从vcl filein varnish 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) {
------------------------------------##--------

但是遇到了这个错误:

> brew install node      # get node.js

我们在几个代码中找到了这种分配:

我认为清漆不应该出现这个错误。我们分配一个布尔类型,我们期望一个布尔类型,对吗?

我们缺少什么?

由于

1 个答案:

答案 0 :(得分:1)

您找到的分配不是req.http - req.http。[name]是一种访问请求标头[name]的方法。标题是字符串,而不是布尔值。不过,您仍然可以通过小改动来完成这项工作:

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

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