【问题标题】:Can IIS6.0 host two SSL certificates?IIS6.0 可以托管两个 SSL 证书吗?
【发布时间】:2012-02-29 15:07:05
【问题描述】:

我们有一台运行 IIS6.0 的 Windows Server 2003 机器,它托管两个不同的网站。我们为这两个域都购买了 SSL 证书,但后来发现我们不能同时使用这两个证书,因为 SSL 使用端口 443,而且我无法将两个域都设置为使用该端口号。

所以我的问题是,是否可以在同一台 IIS 6.0 服务器上托管 https://www.domain1.comhttps://www.domain2.com?如果是这样,我该怎么做?

【问题讨论】:

  • 您是否尝试过将每个网站设置为在两个不同的 IP 地址上使用端口 443?
  • @BahriGungor 不,我没有。我认为这会使网站停止工作,因为那里列出的 IP 地址是机器的 IP 地址。
  • 您可以为一台计算机拥有任意数量的 IP 地址。为服务器设置另一个 IP 后,将每个站点设置为使用端口 443 和 80 上的每个 IP。不要使用虚拟目录或主机标头。然后为每个配置您的 SSL(这是我的知识不足的地方)。
  • @BahriGungor 我是否需要更改 MX 记录或任何传入连接,以便它也使用新的 IP 地址?为什么我不能使用主机头?目前这两个站点都被多个域名访问,所以它们都使用主机头。
  • @Rachel MX 记录用于邮件,您需要更改 A(IPv4) 记录和 AAAA (IPv6),正如我的回答中所讨论的,主机标头是加密的,因此没有一个证书就无法读取.此外,SSL 握手发生在主机标头发送之前,因此每个 IP/端口组合严格来说是一个 SSL 证书。

标签: iis iis-6 ssl-certificate


【解决方案1】:

正如@Bahri Gungor 所说,这样做的方法是让服务器拥有多个 IP 地址,将不同的域附加到不同的 IP,然后您应该能够让每个域都有一个单独的 SSL 证书。

可以为 Windows 服务器分配大量 IP 地址,然后根据您的网络设置,您可以更改不同域的 DNS 记录以指向不同的 IP 地址。请记住,DNS 更改需要一段时间才能通过网络发挥作用(取决于它们的生存时间)。因此,您需要将您移动的域托管在多个 IP 地址上,直到所有客户端都拥有新的 DNS 记录。 见下文

为什么?

我假设您的配置方式是通过相同的端口和相同的 IP 地址为两个域提供服务,并让 IIS 根据主机标头选择不同的网站。顾名思义,主机头是随请求发送到服务器的 http 头的一部分,当使用 HTTPS 时,此信息使用 SSL 证书加密。因此,如果您可以在同一个端口和 IP 地址上提供多个证书,IIS 将不知道哪个证书会使传入的请求失效。

通配符证书

一种解决方法是,如果您有多个子域,它们可以共享一个 SSL 证书,那么您可以使用主机标头来选择用户感兴趣的站点 所以如果你有

a.example.com
b.example.com
c.example.com

你可以获得证书

*.example.com

然后子域的网站可以共享一个 SSL 证书和相同的 IP 地址和端口。

【讨论】:

  • 感谢您使用通配符证书进行的编辑,但在这种情况下,两个域完全不同,并且不共享相同的后缀。
  • 是的,我从您的问题中看到,该部分是为下一个遇到类似问题的人找到此答案的。
猜你喜欢
  • 2011-07-10
  • 1970-01-01
  • 2022-07-01
  • 2014-03-21
  • 2014-09-09
  • 2012-03-20
  • 2020-12-01
  • 1970-01-01
  • 2011-09-24
相关资源
最近更新 更多