【问题标题】:Nginx Reverse Proxy With Alternating Live Backend Services具有交替实时后端服务的 Nginx 反向代理
【发布时间】:2017-01-14 21:54:35
【问题描述】:

我有不同版本的后端服务,并希望 nginx 像“交通警察”一样,将用户发送到当前在线直播的后端服务。每次我想将用户重定向到不同的后端服务时,有没有一种简单的方法可以在不更改 nginx 配置的情况下做到这一点?

在本例中,我想关闭 live 后端服务并将用户引导至 test 后端服务。然后,反之亦然。我称其为逻辑上的“交通警察”,它知道将用户引导到哪个后端服务。

我认为使用upstream 负载平衡将所有后端服务添加到proxy_pass 不会起作用。我认为负载平衡不会给我想要的东西。

我也不希望用户root 更新机器上的/etc/hosts 文件,因为同时编辑/etc/hosts 的多个程序存在安全和冲突问题。

我正在考虑在 nginx 中执行 proxy_pass http://live-backend.localhost 并使用本地 DNS 服务器来管理 live-backend-localhost 的内部 IP,我可以随时更改(重新指向另一个后端 IP)。但是,nginx 会在每个请求上实际查询 DNS 服务器,还是解析一次然后永久缓存 IP?

我是不是想多了?有没有简单的方法在 nginx 中做到这一点?

【问题讨论】:

    标签: nginx


    【解决方案1】:

    您可以在server 指令中使用备份参数,以便仅在活动服务器关闭时使用测试服务器。

    NGINX 在启动时查询 DNS 并缓存它,因此您仍然需要重新加载它才能更新。

    【讨论】:

      猜你喜欢
      • 2016-01-08
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      • 2012-10-25
      • 2011-01-26
      • 2012-11-04
      • 1970-01-01
      相关资源
      最近更新 更多