在前端服务器之间手动切换的最佳方法?

我在云平台上托pipe一个Web应用程序。

我希望能使用这种工作stream程。

  1. 在活动站点正在运行的同时,准备一个与生产环境相同的新环境,只需运行新的代码即可。
  2. testing一段时间,如果发现是好的,将生产切换到新的服务器,但保持旧的。
  3. 如果客户遇到问题,这个想法是快速切换回原来的服务器。
  4. 如果新服务器是好的,最终删除旧服务器,并在下次部署时启动该服务。

涉及多个服务器实例,以复杂的方式进行configuration,但它们都是由应用程序/networking服务器提供的。 所以切换只会涉及到一个新的前端服务器。

什么是实现这个目标的最好方法?

我正在考虑使用HAProxy,但所有的例子都是关于故障转移或负载平衡的,我只是想把它作为一个手动的“开关”来快速切换服务器。

我也想代理做SSL终止,它必须处理websockets。

您可以使用Apache作为反向代理。 它执行SSL终止,也可以代理2.4以上版本的websockets。

在最简单的版本(没有任何负载平衡,因为你说stream量是“所有前端由应用程序/networking服务器”),你只需添加使用此configuration:

 ProxyPass "/" "http://server_IP/" ProxyPassReverse "/" "http://server_IP/" 

要更改目的地,只需将IP更改为指向其他服务器并重新加载apache。

更多信息可以在这里find:

https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html