场景:我有一个带有许多不同子域的 Apache/Varnish 设置。每个子域在启用站点时都有自己的 VirtualHost 文件,但都在同一个 Wordpress 安装中运行。除了一个:sqlbuddy.mydomain.com,它是 Sqlbuddy(基于 Web 的 SQL 管理)的独立站点。
问题:Varnish 在除 sqlbuddy 之外的所有站点上都能完美运行。有时我根本无法访问它并收到错误“错误 503 后端提取失败”。有时我可以访问它,但是当我尝试登录时得到同样的错误。有时当我尝试登录时什么都没有发生。有时登录成功但当我尝试做某事时出现错误。
我想要/尝试的:这个站点不需要缓存,所以我希望 Varnish 完全忽略它。
这是我尝试过的(在我的 vcl_recv 顶部):
if (req.http.host == "sqlbuddy.mydomain.com" && req.url == "/") {
return (pass);
}
以及它的不同变体(没有 req.url,return (pipe); 等),但我仍然得到错误。我还尝试将 VirtualHost 放在不同的端口上以绕过 Varnish,但似乎 sqlbuddy 不会听它。
否则我使用这个 VCL: https ://gist.github.com/nadirlc/46987b42447cf8e3be79 并且 VirtualHosts 监听 127.0.0.1:8008。
Varnish还有其他方法吗?
让我知道是否需要更多信息或我错过了一些明显的东西。在 Varnish 方面,我并不是最好的。