看来我一直专注于让 Mulit Master 复制数据库系统运行,而没有深入研究 Web 服务器集群和负载平衡器以及 SSL 认证。
计划设置:
数字海洋浮动IP: 浮动 IP 以编程方式改变负载均衡器状态。
2个HAproxy服务器: 这些是负载平衡的,并分配了浮动 IP。
3个应用服务器: 运行 NginX 和 Apache2 的应用服务器,这些服务器正在运行ISP 配置作为网络托管面板..
我想启用 HTTPS / SSL 证书。我想让我的用户能够使用 Let's Encrypt。同时,我希望系统能够从任何后端为任何域提供服务,而无需根据 SSL 证书将流量定向到特定后端。我在网上阅读了一些指南,但感觉越来越困惑,所以我在这里问。
我读过一些文章说 HAproxy 终止 SSL,然后在专用网络上以未加密的方式发送内部流量。问题是,我找不到有关如何在拥有多个域时处理域路由、SSL 证书等的深入指南。我有大约 5 个项目网站作为个人项目,但我也在帮助一些非营利组织建立他们的网站。多域支持至关重要。
ISP Config 支持多网络服务器设置,并可将其自己的配置存储在外部数据库中,以供其他 ISP Config 安装读取。
实现 HTTPS / SSL 证书是否容易,我该如何进行实现?
如果这个问题对于新手来说很陌生或者难以解释,我很抱歉,但是我以前从未处理过 Web 服务器上的任何 SSL 证书配置,我认为学习这一点很重要。
答案1
这根本不容易或直接,因为你使用的是 letsencrypt。使用 letsencrypt 时,将创建证书和私钥并将其存储到文件系统上的文件中响应 letsencrypt 的 HTTP 回调。但是,由于您正在进行负载平衡,因此您的 Web 服务器中只有一个将处理来自 letsencrypt 的回调,从而在其文件系统上创建必要的文件。本质上,您必须在所有 Web 服务器之间共享密钥库,以便所有 Web 服务器都可以看到来自 letsencrypt 的所有 SSL 证书和所有 CSR 请求。之后,您必须确保每个 Web 服务器或负载平衡器都具有指向正确证书的配置。