我的网站包含每个用户的子域名和通配符SSL证书
问题是有人可以设置cname记录,例如user1.theirsite.com - > user1.mysite.com并让它仍然使用https?
如果他们在服务器上安装SSL证书以保护连接,它会起作用吗?
由于
答案 0 :(得分:13)
这项工作的最佳方式是,如果他们安排与您一起让您的SSL证书在 中包含他们的“别名”作为Subject Alternate Name
扩展名X.509证书。
这是某些CDN在为客户端托管https
网站时使用的方法 - 他们将一台服务器上托管的所有已知网站名称放在一个大型SSL证书中,然后客户端使用CNAME将他们的域名指向正确的CDN服务器。
答案 1 :(得分: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.com
到user1.mysite.com
的CNAME,他们可能会为您提供证书和私钥,以便您也可以使用服务器名称指示将其托管在您的网站上(假设您使用的是CNAME),假设相同的端口,当然还有相同的IP地址。这适用于支持SNI的客户。但是,他们给你的私钥会有一定的风险(通常不推荐)。
答案 2 :(得分:0)
以下设置和工作:
a.corp.com
的DNS条目 - > CNAME b.corp2.com
- >一个1.2.3.4
1.2.3.4
的haproxy将提供a.corp.com
的证书,并且该网站从网络服务器后端加载正常。
因此,在您的服务器上,您将需要user1.theirsite.com
证书,它将起作用。