Varnish 4 VCL 类型转换?

Varnish 4 VCL type conversions?

我将 Varnish4 与 geoip vmod 一起使用,我正在尝试将 client.ip 用作字符串。

geoip.country_code(client.ip);

执行此操作时,出现错误 Wrong argument type. Expected STRING. Got IP.

如果我真的想要,我可以做类似

的事情
set req.http.X-Client-IP = client.ip;
geoip.country_code(req.http.X-Client-IP);

问题会消失,但这似乎不是一个干净的实现。

有没有办法将 return client.ip 作为字符串而不是 IP 类型,它不涉及设置另一个变量,或者这是正确的方法吗?

请注意,我不想使用 req.http.X-Forwarded-For 因为我正在测试是否使用它与 client.ip.

相比我得到了可预测的结果

事实证明,您只需将空白字符串连接到 return 字符串即可。

set req.http.X-Country-Code = geoip.country_code("" + client.ip);