我有不同版本的后端服务,并且希望nginx像“交通警察”一样,将用户仅发送到当前在线的实时后端服务。每次我想将用户重定向到不同的后端服务时,是否有一种简单的方法可以在不更改nginx配置的情况下执行此操作?
在此示例中,我想关闭实时后端服务,并将用户定向到测试后端服务。然后,反之亦然。我称之为逻辑“交通警察”,它知道将用户引导到哪个后端服务。
我不认为使用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中有一种简单的方法吗?