Node.js 如何将http请求重新路由到节点中的其他服务器
我有一个移动应用程序,它依赖于托管在Microsoft Azure VM上的node.js服务器。我目前正在创建一个新的Azure VM,我希望所有API都指向该VM,但由于我已经在Google Play上发布了该应用程序,已经下载该应用程序的用户将拥有将所有API调用指向旧VM的代码。我想在旧VM的服务器代码中添加逻辑,将所有传入的HTTP请求重新路由到新VM,并将新VM的响应返回到客户端,即使它们直接向旧VM服务器发送请求。基本上,老VM将充当中间人。有人知道如何使用Node进行此操作吗?正如@yjwong的评论所说,如果您有一个独立的域名来服务旧应用程序并将旧Azure VM的主机名绑定为DNS中的CNAME记录,您可以更改CNAME记录以将新Azure VM的主机名绑定到使用旧应用程序的用户指向新的/正确的服务器 关于CNAME记录,请参阅维基百科条目 否则,您可以安装并使用反向代理(如Nginx)将旧应用程序访问的URL重定向并重写为新/正确服务器的URL 以下是一些步骤,可供参考Node.js 如何将http请求重新路由到节点中的其他服务器,node.js,http,azure,forwarding,Node.js,Http,Azure,Forwarding,我有一个移动应用程序,它依赖于托管在Microsoft Azure VM上的node.js服务器。我目前正在创建一个新的Azure VM,我希望所有API都指向该VM,但由于我已经在Google Play上发布了该应用程序,已经下载该应用程序的用户将拥有将所有API调用指向旧VM的代码。我想在旧VM的服务器代码中添加逻辑,将所有传入的HTTP请求重新路由到新VM,并将新VM的响应返回到客户端,即使它们直接向旧VM服务器发送请求。基本上,老VM将充当中间人。有人知道如何使用Node进行此操作吗?正
ngx\u http\u proxy\u模块
ngx\u http\u proxy\u模块
,或使用关键字Nginx
,反向代理
,重定向
等搜索相关文章旧VM的IP地址是否已硬编码到应用程序中?如果它只是一个域名,那么更新a记录就很简单了。否则,您也可以使用反向代理,如Nginx(不一定使用Node)。@yjwong问题是,尚未更新应用程序的用户将有代码指向我们正试图逐步淘汰的旧VM服务器。新用户将被指向新的/正确的服务器。