保护具有 cname 记录的 url

问题描述 投票:0回答:4

我有一个网站,每个用户都有子域和通配符 SSL 证书

https://user1.mysite.com

https://user2.mysite.com

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

如果他们在服务器上安装 SSL 证书来保护连接是否有效?

谢谢

ssl dns cname
4个回答
14
投票

实现此目的的最佳方法是,他们与您安排让您的 SSL 证书将其“别名”作为 Subject Alternate Name

 扩展名包含在 
您的 X.509 证书中。

这是一些 CDN 在为客户端托管

https

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


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

主机名验证将由客户端根据其在 URL 中请求的主机名完成,如

RFC 2818 中所指定。主机名 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.com

user1.mysite.com
 的 CNAME,他们可能能够为您提供他们的证书和私钥,以便您也可以使用服务器名称指示将其托管在您的站点上(假设端口相同,并且当然,由于您使用的是 CNAME,因此 IP 地址相同)。这适用于支持 SNI 的客户端。然而,他们向您提供他们的私钥会存在一定的风险(通常不建议这样做)。


0
投票
以下内容已设置并正在运行:

DNS 条目

a.corp.com

 -> CNAME 
b.corp2.com
 -> A 
1.2.3.4


位于

1.2.3.4

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

因此,在您的服务器上,您将需要

user1.theirsite.com

 证书,它将可以工作。


0
投票
通配符 tls 证书应该非常适合此目的。例如:对

*.example.com

 有效的通配符 tls 证书将保护 A 和 CNAME 记录 = 
web.example.com
api.example.com
potato.example.com
 将保护域

© www.soinside.com 2019 - 2024. All rights reserved.