gpt4 book ai didi

caching - 使用Varnish完全排除子域

转载 作者:行者123 更新时间:2023-12-03 17:46:32 25 4
gpt4 key购买 nike

设想:
我有一个带有许多不同子域的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(管道)等),但我仍然收到错误。
我也尝试过将VirtualHost放在其他端口上以绕过Varnish,但sqlbuddy似乎不会听。

否则,我将使用以下VCL:
https://gist.github.com/nadirlc/46987b42447cf8e3be79
VirtualHosts将监听127.0.0.1:8008。

使用Varnish还有其他方法吗?

让我知道是否需要更多信息,或者我错过了明显的事情。当涉及到Varnish时,我并不是最好的。

最佳答案

您是否尝试过使用正则表达式匹配〜

if (req.http.host ~ "sqlbuddy.mydomain.com") {
return (pass);
}

甚至
if (req.http.host ~ "sqlbuddy") {
return (pass);
}

关于caching - 使用Varnish完全排除子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35288308/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com