背景
目前我们有一些服务器将为某个地区提供服务,因此它们有自己的非共享用户,但我们需要建立安全的连接才能使网站正常运行。
问题
到目前为止,我们只有一个单域 SSL 证书,只允许一个站点使用 https 运行,我们正在寻找最具成本效益的解决方案,通过花费较少的证书和额外的服务器来为我们所有的站点提供 HTTPS 连接。
问题
是否可以仅使用一个 UC 证书来与位于不同服务器上的不同站点建立多个 HTTPS 连接?
眼镜
- Windows 2003 服务器(最新 SP)X 3
- IIS 6.0
- 1 个公网 IP
- 2 个区域站点 (例如: 北美站点 / 南美站点 )
- RIA 应用程序
约束
- 单个 IIS 无法包含所有网站
- 站点分开以提供更好的应用程序性能
建议的解决方案 #1:将 IIS 6.0 服务器设为反向代理
通过这种方法,我认为用户可以轻松访问网站和应用程序,尽管我担心 SSL 的行为方式,以及由于该网站是 RIA 是否会出现问题。
来源
建议解决方案 #2:使用 IP 别名或 NAT
虽然这篇文章是关于 Linux 和 Apache 的,但我认为可以使用 NAT 将用户重定向到正确的站点来提供某种等效的解决方案。我再次主要担心的是 HTTPS 连接可能会失败。
来源
https://www.ibm.com/developerworks/web/library/wa-multissl/index.html#resources
建议解决方案 #3:虚拟目录
这个看起来很有趣,尽管我并不认为它实用,因为我们真正想要的是分离不同的站点而不是创建一个运行所有站点的服务器。
来源
http://forums.devshed.com/iis-97/redirect-to-another-internal-webserver-317863.html
建议解决方案#4:使用负载均衡器
这个似乎是最明显的解决方案,虽然我想要一个更静态的解决方案,而且我想看看它如何与 HTTPS 一起工作。
最后的想法
- 我们可以购买 UCCert,尽管我们不想
- 我们可以使用单个域证书来完成所有这些吗?
- 此设置将如何处理 ASP 会话?
非常感谢您抽出时间,如果您能就如何做出最佳选择提供一些指导,我们将不胜感激。
答案1
可以将一个 UC 证书用于多个站点。但是,存在一些限制:
- 所有使用该证书托管的域名都将在该证书上可见。
- example.com、example.org、example.co.uk 都将在证书上可见。
- 您的 SSL 提供商可能不会为不在同一域中托管的其他域名或您无法证明所有权的域名颁发证书。
- imap.example.com + owa.example.com 就可以,但是 example.com + example-the-second.org 可能不被允许。
- 您的 SSL 提供商只允许证书上有一定数量的附加域名,这可能远低于您的每台服务器的站点数量比率。