如何去除清漆?

如何去除清漆?

我有一个网站目前正在使用 Varnish 来缓存 HTTP 请求,但是由于多种原因,它弊大于利。

我的问题是,我找不到一种方法来阻止所有通过它的 http 请求。如果我停止 varnishd 服务,那么整个站点就会瘫痪。varnish statup 选项表明它正在使用端口 2000,但 Apache 上似乎没有任何与之相关的内容。Apache 配置指向标准端口 80。

这是 CentOS 系统,带有 Apache 2.2.3、Varnish 2.0.6

答案1

检查 Varnish VCL(可能是 default.vcl)以查看它使用的后端服务器的地址(您可以将其视为后端指令)。这可能使用了非标准端口,例如 8080。

接下来您需要执行以下操作:

  1. 编辑 Apache 配置以绑定到端口 80
  2. 杀灭清漆
  3. 在 80 上重新启动 Apache

答案2

然后尝试让 Apache 监听端口 2000。可能存在一条防火墙规则,将端口 80 的所有连接映射到端口 2000。

答案3

如果您想让 varnish 保持运行,但只将请求传回后端服务器(可能在您调整/修复默认配置时),您可以暂时将该vcl_receive()功能更改为如下形式(未经测试):

sub vcl_recv() {
  return (pipe);
}

然后重新启动Varnish:

>sudo service varnish restart

这会将请求/连接传回后端,直到连接关闭。

相关内容