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

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

我在工作中维护一个托管在云平台上的 Web 应用程序。

我希望使用这种工作流程。

  1. 在实时站点运行时,准备一个与生产环境相同的新环境,只是在其上运行新代码。
  2. 测试一段时间,如果发现不错,就将生产切换到新服务器,但保留旧服务器。
  3. 如果客户端遇到问题,其想法是快速切换回原始服务器。
  4. 如果新服务器很好,最终将删除旧服务器,并在下次部署时重新开始该过程。

涉及多个服务器实例,配置方式复杂,但它们都由应用程序/Web 服务器作为前端。因此切换仅涉及指向新的前端服务器。

实现这一目标的最佳方法是什么?

我正在考虑使用 HAProxy,但所有示例都是有关故障转移或负载平衡的,我只是想将其用作手动“开关”以在服务器之间快速切换。

我还希望代理能够执行 SSL 终止,并且它必须处理 websocket。

答案1

您可以使用 Apache 作为反向代理。它可执行 SSL 终止,还可代理 2.4 及更高版本的 websocket。

在最简单的版本中(没有任何负载平衡,因为您说流量“全部由应用程序/ Web 服务器前端”),您只需添加使用此配置:

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

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

更多信息可以在这里找到:

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

相关内容