浏览器是否信任通配符 SSL 证书?

Do browsers trust wildcard SSL certificates?

我已经设置了一个开发服务器,我需要在其中测试大量 LAMP 个站点。他们的域名格式如下:

https://webapp1.test.example.com
https://anotherwebapp.test.example.com
https://anotherclientssite.test.example.com

我想为他们获取 SSL 证书。由于为他们每个人获取证书很麻烦,我决定使用 Let's Encrypt 和 certbot 为 *.example.com...

获取通配符 SSL 证书

...但是现在,安装证书后,我仍然无法让浏览器信任它们;他们仍然显示有关证书如何不可信的警告。在 Firefox 的情况下,错误是 "SSL_ERROR_BAD_CERT_DOMAIN",它表示 "This certificate is not valid for webapp1.test.example.com. The certificate is valid only for the following domains: *.example.com, example.com".

我用来生成证书的命令是:

certbot certonly --manual --preferred-challenges dns --server https://acme-v02.api.letsencrypt.org/directory --manual-public-ip-logging-ok -d '*.example.com' -d example.com

如何生成所有浏览器默认信任的通配符证书?

是的,但通配符并不是那么有效。 *.example.com 将匹配 foo.example.combar.example.com 但不匹配 foo.bar.example.com.

由于不允许使用多个通配符,因此您无法使用 *.*.example.com 解决此问题。但是,您可以添加 *.test.example.com,以及您正在测试的任何其他子域,即:

certbot certonly ... -d '*.test.example.com' -d '*.example.com' -d example.com