docker 405针对清漆的BAN或PURGE请求不允许错误

vsmadaxz  于 2022-12-26  发布在  Docker
关注(0)|答案(1)|浏览(134)

我正在尝试将varnish设置为基于lando(docker)的开发安装的一部分。它由2个容器组成:

  • appserver,运行Apache + PHP-FPM
  • varnish

不知何故,我未能设置正确的VCL配置文件,导致失败,如下图所示,当BAN请求是针对appserver容器的保护漆时:

BAN http:\/\/varnish\/` resulted in a `405 Not allowed from 172.29.0.3

以下VCL规则会发生这种情况:

acl purge {
    "localhost";
    "appserver";
    "127.0.0.1";
    "::1";
    "0.0.0.0/0";
    "128.0.0.0/1";
    "172.0.0.0/8";
}

我可以从varnish容器内部ping appserver,没有任何问题。
我怎样才能修复我的配置,请?请让我知道,如果我的问题是失踪的一些信息。

6uxekuva

6uxekuva1#

我发现了如何解决它。你必须允许一个无限制的清除或添加X-VC-清除键到头部和分配秘密给他作为一个值。以下是我的兰多配置:

services:
  varnish:
    type: varnish:6.0
    backends:
      - appserver
    backend_port: 80
    overrides:
      environment:
        VARNISH_SECRET: secret
        VARNISH_ALLOW_UNRESTRICTED_PURGE: 1

相关问题