我有不同版本的后端服务,并希望nginx像一个“交通警察”,发送用户仅到当前在线现场后端服务。每次我想将用户重定向到不同的后端服务时,是否有简单的方法可以在不更改nginx配置的情况下执行此操作?Nginx反向代理与交替的现场后端服务
在这个例子中,我要关机现场后端服务和直接用户的测试后端服务。然后,反之亦然。我称之为合乎逻辑的“交通警察”,它知道指引用户使用哪个后端服务。
我不认为使用upstream
将所有后端服务添加到proxy_pass
负载平衡将工作。我认为负载平衡不会给我我想要的。
我也不希望用户root
更新机器上的/etc/hosts
文件,这是因为多个程序同时编辑/etc/hosts
的安全性和碰撞问题。
我正在考虑在nginx中做proxy_pass http://live-backend.localhost
并使用本地DNS服务器来管理内部IP地址live-backend-localhost
,我可以随时更改(重新指向另一个后端IP)。但是,nginx实际上是否会在每个请求中查询DNS服务器,或者一旦永久缓存IP就会解析它?
我在想这个吗?在nginx中有没有简单的方法来做到这一点?