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