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 代码中的 backend
和 probe
定义。不要犹豫,将您的 VCL 配置与 Backend_health
日志输出一起添加到问题中。这样我们就可以弄清楚 Varnish 认为它不健康的是什么。
我最近为我的 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 代码中的 backend
和 probe
定义。不要犹豫,将您的 VCL 配置与 Backend_health
日志输出一起添加到问题中。这样我们就可以弄清楚 Varnish 认为它不健康的是什么。