使用Magento2沿着Nginx安装Varnish

lf5gs5x2  于 2023-08-03  发布在  Nginx
关注(0)|答案(2)|浏览(190)

我需要帮助配置Varnish与Magento 2和Nginx.我尝试了配置,但遇到了一个持久的503后端错误。
我已将默认的.vcl文件替换为magento2.vcl文件,但错误仍然存在。我收到的具体错误消息是:

[14/Jul/2023:19:18:26 +0200] "HEAD xx.yy:81/ HTTP/1.1" 301 0 "-" "curl/7.81.0"

字符串
我希望能为解决这一问题提供指导。

t9eec4r0

t9eec4r01#

你能把你的magento.vcl代码发出来吗?
典型的安装是:Nginx(ports http 80 and http 443)-> varnish(http 8080)-> magneto(http 8081)您发出的错误是301重定向,而不是503通常503是说« varnish can 't pass the request to backend »要么您的请求或您的后端编码错误(例如,ttls太短)
如果您的设置是全新的,这可能是您可能使用varnishadm backend.list确认的第二个原因
可能是类似于« magneto正在端口8081上运行并且varnish被配置为从端口8888获取内容»
如果503来自超时,您可能会看到varnishlog的超时
一些有用的清漆命令:https://www.getpagespeed.com/server-setup/varnish/varnish-4-command-line

lawou6xi

lawou6xi2#

后端运行状况监控

有关如何在Varnish中监视后端运行状况的教程,请参阅https://www.varnish-software.com/developers/tutorials/troubleshooting-varnish/#backend-health-monitoring。
如果后端探测失败,则可能是您收到503错误的原因。
瓦尼什洛格
您还可以更深入地了解,并使用以下教程https://www.varnish-software.com/developers/tutorials/troubleshooting-varnish/#backend-errors来利用varnishlog并详细检查日志事务。

日志中的301错误

有趣的是,日志行中包含一个HEAD调用并接收301重定向。
它是一个HEAD调用,这一事实可能与您的VCL文件中强制执行此请求方法的运行状况探测器有关。
这并不是什么坏事。它实际上可以更容易地查明问题。请分享您的VCL文件,后端和健康探测器的详细信息可能有助于我们解决这个问题。如果健康探测器执行HEAD调用,我们就更接近了一步。
301重定向实际上是一个很有趣的重定向。如果它与运行状况检查相关,则意味着运行状况检查端点强制执行301重定向。由于运行状况探测器需要200状态代码,因此它将失败并生成503状态代码。
一个可能的解决方案是检查301重定向发生的原因并解决此问题。
结论
我的建议是假设性的,指的是潜在的健康检查问题。
请共享您的VCL文件。这将帮助我们确定您正在使用的运行状况检查参数。
我分享的教程也可以帮助你调试。
sudo varnishlog -g raw -i Backend_healthsudo varnishlog -g request -q "VCL_call eq 'BACKEND_ERROR'"是可帮助您调试后端运行状况和潜在后端故障的命令。`

相关问题