Varnish Cache 给我 503 错误,没有解决方案

Varnish Cache giving me 503 error and no solution works

我最近为我的 Magento 2 网站设置了 Varnish 缓存。它在 HTTPS links(端口 443)上没有问题,但每当我尝试加载 HTTP link 时,它 returns 503 错误。

Error 503 Backend fetch failed
Backend fetch failed

Guru Meditation:
XID: 32934

Varnish cache server

查看header,显示HTTP网站在80端口(Varnish设置为80端口),而我的VirtualHost在8080端口

我尝试了很多解决方案,包括添加超时、更改 headers、重写规则等,但没有任何帮助。这里有人可以帮忙吗?

谢谢!

您可以使用 varnishlog 按照 https://www.varnish-software.com/developers/tutorials/troubleshooting-varnish/#backend-errors 中的说明进行调试。

只需 运行 sudo varnishlog -g request -q "VCL_call eq 'BACKEND_ERROR'" 并将内容粘贴到此处。我帮你调试

检查日志后更新

检查 https://pastebin.com/GeaVgkmw 上的日志后,我在第 100 行的 ** << BeReq >> 16 中找到了以下日志行:

--  FetchError     backend boot.default: unhealthy

Varnish 甚至不会尝试向后端发送请求,因为它认为它不健康。

这可能与您的 VCL 中的运行状况检查探测失败有关。

您可以运行以下命令来查看有关后端健康状况的更多详细信息:

sudo varnishlog -g raw -i Backend_health

另请查看 VCL 代码中的 backendprobe 定义。不要犹豫,将您的 VCL 配置与 Backend_health 日志输出一起添加到问题中。这样我们就可以弄清楚 Varnish 认为它不健康的是什么。