【问题标题】:Error 503 Backend fetch failed错误 503 后端提取失败
【发布时间】:2015-07-16 02:48:46
【问题描述】:
我的网站有这个错误
错误 503 后端提取失败
后端提取失败
上师冥想:
XID:526707
清漆缓存服务器
有人知道可能是什么原因或如何找出发生了什么吗?
【问题讨论】:
-
它也发生在我身上。就我而言,我请求的是服务器上没有的图像。当后端发送到 500 代码时,清漆向您发送 503 ......希望对您有所帮助。在这里查看:quora.com/…
标签:
php
runtime-error
varnish
varnish-vcl
http-status-code-503
【解决方案1】:
varnish 返回 503 的常见原因未在 varnish 错误列表中解释。我从经验中学到了这一点。
如果您的网络服务器返回 500 错误或类似错误,那么 varnish 只会显示错误 503 Backend fetch failed。
您需要做的是始终尝试在没有 varnish 的情况下进行获取,以查看错误是在 varnish 中还是在 Web 服务器中。例如,如果您的网络服务器有不同的主机名,则加载该主机名并找到错误,如果您修复了该问题,则重新启动 varnish 并在大多数情况下解决它。
【解决方案2】:
这意味着 Varnish 已正确配置为接受传入连接,但还不能为您的后端提供服务。当 varnish 收到请求但您的后端仍在重新启动/释放时,此错误很常见。
【解决方案3】:
这可能是由于 Magento 使用的缓存标签长度超过了 Varnish 的默认值 8192 字节。
这可以通过修改清漆配置来解决:
- CentOS 6:/etc/sysconfig/varnish
- CentOS 7:/etc/varnish/varnish.params
- Ubuntu:/etc/default/varnish
查找 http_resp_hdr_len。
如果该参数不存在,则在thread_pool_max之后添加。
Magento 建议将 http_resp_hdr_len 设置为等于您最大类别的产品数量乘以 21 的值。
例如,如果您的最大类别有 3,000 个产品,则将值设置为 65536 字节应该可以工作:
-p http_resp_hdr_len=65536 \
请看这里:http://devdocs.magento.com/guides/v2.0/config-guide/varnish/tshoot-varnish-503.html
【解决方案4】:
我们有时会在我们的 Drupal 网站上看到这一点。如果您不遵循这里的 Drupal 主义,请原谅我,但是,基本上,存在可以引用其他内容实体(节点)的 Drupal 实体,并且在某些情况下,您可以让一个实体持有许多这些引用。假设您向其中一个实体添加 4 个引用,但您只为其中 3 个指定内容(添加 ID),而将第四个留空,则会导致此错误。