自动反向/缓存代理配置更新?

自动反向/缓存代理配置更新?

我以前从未做过如此雄心勃勃的事情,所以请告诉我这是否是一个坏主意,以及我应该考虑的替代解决方案。

因此,我有三台服务器(以后还会有更多),所有托管站点都使用相同的 TLD。目前,我无法将子域和服务器关联起来。(由于订阅级别和预期性能不同等原因,有多个服务器。)

我的理想情况是:所有网络流量都会到达 Varnish 缓存,Varnish 会从托管网站的服务器缓存这些流量。我可以使用 Apache 或 Nginx 作为网络服务器,无论哪个更方便。

网络节点上总会创建新站点,因此我希望我的 Varnish 缓存知道哪个站点在哪里,而无需手动输入。(所有服务器都在 Debian 上。)

我一直在考虑使用 Puppetmaster 来实现这一点,但我找不到任何文档(也许我搜索错了?)。我也一直在考虑使用自定义守护进程,但这似乎是在重新发明轮子。

如果更方便的话,我可以使用 Nginx 作为缓存代理,Varnish 似乎在这种用例中更受欢迎。

谢谢

答案1

在 Varnish 上,我能预见的唯一陷阱是添加新服务器(后端)时...Varnish 是“主机不敏感的”,因此只要所有服务器都可以处理所有主机的请求,您就不会遇到任何问题。

您还可以使用 DNS 管理器 [1](如果您不需要健康检查)来添加后端服务器的网络范围(cidr 表示法):

director directorname dns {
    .list = {
            .port = "80";
            .connect_timeout = 0.4s;
            "192.168.15.0"/3;
    }
    .ttl = 5m;
}

也许使用 Puppet 进行这种设置是一个好主意,但是我认为您需要一个自定义模块。

[1]https://www.varnish-cache.org/docs/3.0/reference/vcl.html#the-dns-director

相关内容