我应该先说我对 SSL 的实践知识为零,而且这个特定的设置似乎特别复杂。我的情况如下:我正在为一个客户运行 3 个网站,每个网站在 2 个 Linux 机器上都有一个副本。客户端在他们的防火墙和 2 个盒子之间运行一个硬件负载平衡器,以在 2 个盒子之间分配流量。目前,这些网站都只使用 HTTP,每个站点在每个盒子上都有自己的 IP 地址,并且可以在 a.mysite.com、b.mysite.com 和 c.mysite.com 等公共 url 上使用
客户要求我将所有内容切换为在 HTTPS 下运行,并尝试配置以下设置:创建一个新域(在 https 下)https://main.mysite.com和https://main.mysite.com/ a/ mappng 到 a.mysite.com,https://main.mysite.com/b/ mappng 到 b.mysite.com 等
主要目标是将所有 3 个站点都切换到 HTTPS。统一在 1 个域下的东西是“很高兴拥有”。客户认为证书很昂贵,是吗?
首先,我对购买证书、设置 SSL 等一无所知,因此非常感谢任何指向 HTTPS 初学者指南的链接。证书价格的粗略想法也会很好。
其次,因为网络服务器软件需要重新编译才能在 SSL 下运行,所以我对允许我不更改网络服务器软件的解决方案感兴趣。这会是反向代理吗?
第三,“统一在1域下”是否可能?
第四,在这种情况下我需要多少 SSL 证书?
干杯!
多域 (UCC) SSL 证书比通常建议的通配符 SSL 便宜。它仅适用于 5 个域变体,而不是通配符提供的无限数量,但如果您的需求很简单,则可能值得考虑。
无论哪种方式,单一 SSL 证书都可以满足您的需求。只有价格和未来的灵活性不同。
证书可以像您希望的那样昂贵或便宜。您可能想要的是一个“通配符”证书,它将允许 *.mysite.com 被允许。通配符证书不会像单站点证书那样便宜,但最终它们会比许多单站点证书便宜。您还可以在单个证书上获得多个名称,但这是一次性的,通配符证书将允许该公共域根下的任何名称。
你不是说你正在使用哪个服务器软件。如果我在“重新编译”中提到的 Apache,并且您正在某种形式的 Unix 上运行它,请尝试以下命令:
如果你得到任何说 ssl 存在的东西,那么它就在那里。
如果不是,它可能能够被动态加载。但是,大多数发行版和软件包系统可能默认安装 ssl。就是这么常见。
我还会检查您的服务器软件的使用时间。我不想改变太多,但我认为如果没有反向代理来添加到该站点的维护中,您会更快乐。
我认为您可以使用通配符证书(昂贵)来满足这一点:
或三个证书(不那么贵):
您还应该能够在主站点上创建 url 重写规则,以将客户端发送到正确的域:
这种设计不需要更改您的服务器部署,只需向每个站点添加证书以及主站点上的 url 重写规则。
并且,不要忘记添加从 http 重新映射到 https 的重定向 url: