通配符SSL子域转发


Wildcard SSL Subdomain forwarding

我的网站有问题。我有一个web服务,当用户创建一个帐户,他们得到自己的子域(例如:john.example.com)

一切都像预期的那样完美,我有一个通配符SSL证书,当去:

https://john.example.com/

,

如果用户输入www.john.example.com Chrome浏览器将停止与该站点的连接,并显示SSL错误:

无法连接到真实的www.john.example.com

您的安全连接正在受到干扰www.john.example.com。

尝试在几分钟后或切换到新的页面后重新加载此页面网络。如果你最近连接了一个新的Wi-Fi网络,完成重新加载前登录。

如果你现在访问www.john.example.com,你可能会分享攻击者的私有信息。为了保护您的隐私,Chrome将不加载页面,直到它可以建立安全连接到真实的www.john.example.com.

这只发生在chrome中。如果我在Firefox或IE中访问URL www.john.example.com,连接完成,htaccess将用户转发到https://john.example.com,但Chrome不给服务器一个机会。

如何为用户解决这个问题?

我是否必须为www.*.example.com购买另一个通配符SSL证书?

这是通配符SSL证书的固有限制-像*.example.com中的*这样的通配符组件只能替换单个主机名组件(如john),而不能替换多个级别(如www.john)。你需要构建你的网站,这样它就不会链接到这些子域与www;或者,如果必须的话,在没有HTTPS的情况下这样做。

您很可能无法获得对这些子域有效的通配符证书。SSL ca很少愿意签署不寻常的通配符证书,如您正在考虑的(www.*.example.com)。

我需要为www.*.example.com再买一个通配符SSL证书吗?

即使你能买到这样的证书,浏览器也不会接受它。通配符只允许在最左边的标签中使用,参见RFC6125节6.4.3。这意味着没有www.*.example.com,没有*.*.example.com,只有*.site.example.com