具有交替的实时后端服务的Nginx反向代理

时间:2017-01-14 21:54:36

标签: nginx

我有不同版本的后端服务,并且希望nginx像“交通警察”一样,将用户发送到当前在线的实时后端服务。每次我想将用户重定向到不同的后端服务时,是否有一种简单的方法可以在不更改nginx配置的情况下执行此操作?

nginx backend service direction

在此示例中,我想关闭实时后端服务,并将用户定向到测试后端服务。然后,反之亦然。我称之为逻辑“交通警察”,它知道将用户引导到哪个后端服务。

我不认为使用proxy_pass负载均衡向upstream添加所有后端服务都行不通。我认为负载平衡不会给我我正在寻找的东西。

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

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

我是否过度思考这个?在nginx中有一种简单的方法吗?

1 个答案:

答案 0 :(得分:1)

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

NGINX在启动时查询DNS并对其进行缓存,因此您仍需要重新加载以进行更新。