您可以使用* .domain.com作为名称来创buildSSL证书。
但不幸的是,这不包括https://domain.com
有没有解决这个问题?
我似乎记得,*。domain.com实际上违反RFC反正(我认为只有l compla抱怨虽然:)
使用domain.com作为CN创build一个证书,并在subjectAltName:dNSName names字段中创build* subjectAltName:dNSName 。
对于openssl,将其添加到扩展中:
subjectAltName = DNS:*.domain.com
不幸的是你不能这样做。 子域上处理通配符的规则与子域的cookie规则类似。
www.domain.com matches *.domain.com secure.domain.com matches *.domain.com domain.com does not match *.domain.com www.domain.com does not match domain.com
要处理这个问题,你必须获得两个证书,一个用于*.domain.com ,另一个用于domain.com 。 你将需要使用两个独立的IP地址和虚拟主机两个分别处理这些域。
通配符这几天将在主题替代名称字段(SAN)中包含* .domain.com和domain.com。 例如,看看quora.com的通配符SSL证书
你会看见
主题备选名称:* .quora.com,quora.com
可能不是你正在寻找的答案,但我99%确定没有办法。 redirecthttp://domain.com/到https://www.domain.com/ ,只需使用* .domain.com作为SSL证书。 这是远远不够完美,但应该涵盖大部分你感兴趣的情况。唯一的另一种select是使用不同的IP地址为domain.com和www.domain.com。 然后你可以为每个IP使用不同的证书。
不,因为它们是完全不同的名字空间。 redirect的tld不是一个选项,因为SSL是一种传输encryption,它必须在Apache之前解码ssl,例如甚至可以看到请求主机redirect它。
另外作为一个方面说明:foo.bar.domain.com也是无效的通配符证书(从内存的火狐是唯一一个将允许的。