我已经获得了*.example.com的通配符SSL证书。
我正在使用Nginx,并将HTTP的所有流量重定向到HTTPS,还重写URL以删除www子域(如果有)。
所以它有,
http://subdomain.example.com -> https://subdomain.example.comhttp://www.subdomain.example.com -> https://subdomain.example.comhttps://www.subdomain.example.com -> https://subdomain.example.comhttps://subdomain.example.com -> https://subdomain.example.com但是,由于我的证书是针对*.example.com的,case 3会在chrome中得到一个SSL错误(“这可能不是您要寻找的站点!”),但是如果您单击它,它就会被重定向,一切都很好。
我理解为什么,因为最初的连接是针对具有www (2级子域)的HTTPS的,这与通配符证书上的内容不匹配。
我认为一个解决方案是为*.*.example.com获得一个额外的证书,以覆盖www.*.example.com。但这似乎行不通。我和Namec堆和Comodo的特工谈过,他们都说*.*.example.com是不可能的。
我还偶然发现这篇文章说:
SSL是否适用于多级通配符?随着Firefox3.5的发行版,所有主流浏览器只允许与包含通配符的证书名称匹配一个级别的子域,这符合RFC 2818。换句话说,证书
*.mydomain.com将适用于one.mydomain.com或two.mydomain.com,但不适用于one.two.mydomain.com。
有解决办法吗?才能覆盖www.*.example.com?
发布于 2013-07-03 15:43:50
通配符证书只有一级深度。您将需要获得一个通配符,该通配符还具有所有www.<subdomain>.example.com站点的主题-备用名称。这将允许重定向发生。
除了在两级深子域上放置有效的证书之外,任何解决方案都不能工作,因为SSL握手总是在任何重定向或重写之前发生。
发布于 2013-07-03 15:38:48
问题在于通配符证书是如何工作的。正如您所看到的,它们只在一级子域上工作。要解决这个问题,您需要使用PTR记录将www.subdomain.domain.com指向subdomain.domain.com,并且它应该是服务器不可见的。
https://serverfault.com/questions/520556
复制相似问题