Varnish 如何清除已删除的 apache 虚拟主机的缓存数据?

Varnish 如何清除已删除的 apache 虚拟主机的缓存数据?

我为一个提供多个 Web 服务的服务器设置了 Varnish。现在我想删除其中一个 Web 服务,因此我从服务器中删除了此 Web 服务的文件,删除了此 Web 服务的 Apache VirtualHost 并重新启动了 Apache。但是,对此 Web 服务的请求仍然会返回响应。

所以我认为这些数据仍然缓存在 Varnish 中,我所要做的就是清除这些缓存数据。但这不起作用。我尝试过的命令如下:

  • varnishadm -T :6082 -S /etc/varnish/secret "ban.url /"
  • varnishadm -T :6082 -S /etc/varnish/secret "ban.url ."
  • varnishadm -T :6082 -S /etc/varnish/secret "ban req.http.host ~ DOMAIN"
  • varnishadm -T :6082 -S /etc/varnish/secret "ban req.http.host == DOMAIN"

我也重新启动了 Varnish 服务,但是没有效果。

我对 Varnish 不是很熟悉,但这些是我在谷歌搜索如何清除 Varnish 缓存后找到的一些命令。但也许我忽略了一些简单的东西?

答案1

作为一种解决方法,我重新创建了 VirtualHost,但从其文档根目录中删除了所有文件。这样,Varnish 就会返回正确的 404 Not Found 响应。这对于我的情况来说已经足够了,但这并不是一个真正好的解决方案。

相关内容