无法启动 varnish - 运行 VCC 编译器失败 acmetool.conf

无法启动 varnish - 运行 VCC 编译器失败 acmetool.conf

我在 Varnish 4 中遇到了这个奇怪的错误,我不确定如何解释它。如果我尝试启动 Varnish,它会显示:

Error:
Message from VCC-compiler:
Expected an action, 'if', '{' or '}'
('/etc/varnish/acmetool.vcl' Line 3 Pos 1)
backend acmetool {
#######-----------
Running VCC-compiler failed, exited with 2
VCL compilation failed

我不确定我做错了什么。acmetool.vcl 如下所示:

backend acmetool {
   .host = "127.0.0.1";
   .port = "402";
}

sub vcl_recv {
    if (req.url ~ "^/.well-known/acme-challenge/") {
        set req.backend_hint = acmetool;
return(pass);
    }
}

我猜想在这种情况下它不能期望“if”,而且花括号在那里。有什么想法可以解决这个问题吗?我在 Ubuntu 16.04.3 上使用它

答案1

问题在于我没有结束 /etc/varnish/default.vcl 中的最后一节,因此 varnish 继续深入研究 acmetool,认为问题就出在这里。输入右花括号后,它就起作用了。

相关内容