![具有 1 个 IP 地址和不同根域的多个 SSL 站点](https://linux22.com/image/525006/%E5%85%B7%E6%9C%89%201%20%E4%B8%AA%20IP%20%E5%9C%B0%E5%9D%80%E5%92%8C%E4%B8%8D%E5%90%8C%E6%A0%B9%E5%9F%9F%E7%9A%84%E5%A4%9A%E4%B8%AA%20SSL%20%E7%AB%99%E7%82%B9.png)
我正在运行带有 IIS 6.0 的 Windows Server 2003 SP2。
我只有一个 IP 地址(租用子网实际上不是一个选择,而且无论如何我都想限制我对地址空间的使用),但需要运行多个启用单域 ssl 的站点(通配符不起作用)。
www.company1.com
www.company2.com
www.company3.com
有没有办法使用主机头?并保留标准端口(443)?
我发现的所有文档实际上只适合在共享 IP 上运行多个子域的单个组织。(一个例子:http://forums.iis.net/t/1147045.aspx)
我们托管不同的组织,显然有些组织需要 SSL。
任何帮助都将非常有帮助!提前感谢任何想法。
答案1
我认为你不能用 IIS 来做到这一点,但用 Apache 来做是可能的,使用 SNI(SSL 协议中的服务器名称指示扩展配置 Apache 以支持单个 IP 地址上的多个 SSL 站点。
问题出在客户端:它无法在 IE 7 以下版本上运行,也无法在 XP 上运行,甚至无法在 IE 7 上运行。Vista 上的 IE 7 还可以。不知道它能否在 XP 上的 IE 8 上运行。其他大型浏览器都可以运行:Firefox(自 2.0 版起)、Opera、Safari 和 Chrome。
编辑:指定浏览器问题:
XP 上的 IE 7(和 8 - 刚刚测试过)将到达正确的站点,但使用默认 SSL 证书,因此需要例外才能使用 SSL。
编辑:这适用于多个域名(例如 www.example.com 和 abc.testing.com)
编辑:添加链接 Apache 文档
答案2
Calweb,唯一可用的按主机标头 SSL 是通配符证书,即便如此,正如您在帖子中提到的那样,它们也仅适用于具有多个 A 记录的单个域。我能看到的唯一选项是 Prix 提到的,将服务器(或负载平衡器)放在前面,并提供外部 IP 地址。服务器或负载平衡器将执行自己的主机标头抓取,找出属于哪个内部 IP 并将其传递到正确的位置。
答案3
感谢大家的回答并帮助我解决这个问题。
我认为我们要采取的方式(因为考虑到要求,实际上没有其他选择)是使用带有主题备用名称的 UCC SSL 证书。 https://www.digicert.com/subject-alternative-name.htm
看起来不同的根域名不一定是相关的 www.example.com、www.example.net,但可以是 www.example.com、www.website.com、www.monkey.com
反向代理的想法很棒,但是对于我们的预算和时间限制来说,这项任务太过繁重。