我们正在尝试使用 Varnish 来缓存我们经常访问的第三方服务的结果。不幸的是,当他们的服务中断时,我们的网站几乎无法正常运行。

我遇到的问题是我们连接的服务需要通过 http 身份验证访问我们命中的任何 URL。我希望能够默认在我的 default.vcl 文件中设置用户名和密码,以便它会自动在每个请求中包含身份验证。

最佳答案

因此,为了解决此问题,我修改了HTTP header ,如下所示:

sub vcl_recv {
  set req.http.Authorization = "Basic d2h5ZGlkeW91OmRlY29kZXRoaXM=";
}

编码部分是您要使用的用户名和密码的base64:
echo -n "username:password" | base64

关于HTTP验证所有 Varnish 请求,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19799164/

10-14 16:18
查看更多