SSL,IIS: 多个子域名一个网站,顶级域名一个网站(带或不带www)

SSL,IIS: 多个子域名一个网站,顶级域名一个网站(带或不带www)

我有多个子域名,它们应该指向同一个网站,顶级域名应该指向另一个网站。所有这些都在 SSL 下。例如:

abc.mydomain.com ---> 网站 A,
def.mydomain.com ---> 网站 A,
ghi.mydomain.com ---> 网站 A,
jkl.mydomain.com ---> 网站 A

mydomain.com ---> 网站 B,
www.mydomain.com--->网站 B

我已经购买了通配符 SSL 证书和专用 IP。两个网站可以共享同一个 IP 吗,还是每个网站都应该有自己的 IP?

我不需要通配符主机标头或通配符 DNS 映射。每次,对于每个新的子域,我都可以为网站 A 添加新的 DNS 记录和新的主机标头。

答案1

在这种情况下,如果它们位于同一 IP 上,则需要单独的端口;如果希望它们位于同一标准 SSL 端口 (443) 上,则需要单独的 IP。IIS 不支持读取主机头并使用 SSL 进行重定向。您可以使用相同的通配符证书而不会出现任何问题,但您需要在 IIS 和客户端之间使用某些东西(如 Microsoft Forefront Threat Management Gateway),以便通过 SSL 按主机名进行路由。(我希望这有意义)

发生这种情况的原因是,在实际发送 HTTP 标头之前,连接已加密,并且证书已验证,因此 IIS 必须事先知道它正在使用哪个站点。现在,Firefox 确实会在初始加密请求中发送主机名,但我不确定 IIS 是否支持此功能(或者是否有任何其他浏览器支持)。

HTTPS 连接的最初几毫秒有一个难以置信深入描述 HTTPS 的一般工作原理(通过 Firefox 的特殊调试版本)。正如你所见,TLS 中的几段文字支持服务器名称扩展,但据我所知,IIS 不支持该扩展。

答案2

您需要做的就是设置 SSL 主机标头:http://www.sslshopper.com/article-how-to-configure-ssl-host-headers-in-iis-6.html

然后,您可以在同一个 IP 地址/端口上保护它们。

相关内容