13

我有一个站点,其中包含每个用户的子域和通配符 SSL 证书

https://user1.mysite.com

https://user2.mysite.com

问题是有人可以设置一个 cname 记录,例如 user1.theirsite.com -> user1.mysite.com 并让它仍然使用 https 吗?

如果他们在服务器上安装 SSL 证书以保护连接,它会起作用吗?

谢谢

4

3 回答 3

13

实现此目的的最佳方式是,如果他们与您安排让您的 SSL 证书在您的X.509 证书中包含其“别名”作为Subject Alternate Name扩展名。

这是一些 CDN 在https为客户端托管站点时使用的方法 - 他们将托管在一台服务器上的所有已知站点名称放在一个大型 SSL 证书中,然后客户端使用 CNAME 将其域指向正确的 CDN 服务器.

于 2012-05-04T11:11:57.720 回答
12

主机名和证书验证(实际上,检查是否使用了 SSL)完全由客户端负责。

主机名验证将由客户端完成,如RFC 2818中所指定,基于他们在其 URL 中请求的主机名。主机名 DNS 解析是基于 CNAME 条目还是其他任何内容都无关紧要。

如果用户https://user1.theirsite.com/在他们的浏览器中输入,则目标站点上的证书应该对user1.theirsite.com.

如果他们有自己的服务器user1.theirsite.com,与 不同user1.mysite.com,DNS CNAME 条目将没有意义。假设这两个主机实际上是不同的,它们可以拥有自己的有效证书user1.theirsite.com并重定向到https://user1.theirsite.com/. 重定向也将在地址栏中可见。

如果您真的想拥有一个来自user1.theirsite.comto的 CNAME user1.mysite.com,他们也许可以给您他们的证书和私钥,以便您也可以在您的站点上托管它,使用服务器名称指示(假设相同的端口,当然还有相同的 IP 地址,因为您'正在使用 CNAME)。这适用于支持 SNI 的客户端。然而,他们给你他们的私钥会有一定的风险(通常不推荐)。

于 2012-05-02T01:46:06.367 回答
0

以下设置和工作:

a.corp.com-> CNAME b.corp2.com-> A 的DNS 条目1.2.3.4

haproxy1.2.3.4将提供证书,a.corp.com并且网站可以从网络服务器后端正常加载。

因此,在您的服务器上,您将需要user1.theirsite.com证书并且它会起作用。

于 2016-01-19T18:24:14.620 回答