nginx 选择性代理主节点

nginx 选择性代理主节点

我(将)有一组 nginx 服务器(ubuntu 18.04)提供相同的服务(多个 vhost)。为了使它们保持同步,我计划在它们之间复制配置,但是我有几个功能需要由指定节点处理:certbot 更新和日志分析报告。为了得到更好的术语,我们将指定节点称为“主节点”。

我怎样才能最好地处理这些问题?

我可以将主服务器和其他服务器之间的差异放在复制根之外的片段文件中,但是这有点难以维护。

我可以用吗条件语句(如果...)在位置块内,类似于....

alias /var/www/letsencrypt/well-known;
location /well-known/
{ 
   if ( $somevalue != $master ) {
     proxy_pass https://master.example.local/well-known/;
   }
   if ( $somevalue = $master ) {
      try_files $uri $uri/ =404;
   }
}

我可以从 nginx 配置中访问机器主机名吗?我还应该为 $somevalue 使用其他什么吗?

有没有更好的方法来解决该问题?

答案1

在没有任何建议的情况下,我配置了一个新的虚拟主机并将所有请求代理到仅解析到主节点的主机名。

相关内容