Let’s Encrypt 签署证书实践
Let’s Encrypt 提供免费的 DV 级别的 https 证书签署,在实践过程中可能会遇到一些问题,我们用 example.com
作为例子解释一下。
例如访问 https://example.com
时,可能会有如下的报错:
certificate subject name (*.example.com) does not match target host name 'example.com'
提示了 subject name
是 *.example.com
,并不匹配 host name
example.com
。
一般来说,我们希望给 example.com
的所有子域名和顶级域名签署证书,那么就需要两条证书,如下:
example.com
: 只对顶级域名有效*.example.com
: 只对example.com
的所有子域名有效,但是不对example.com
有效。
所以访问 https://example.com
使用的证书应该是 example.com
而不是 *.example.com
。访问 https://www.example.com
用到的证书是 *.example.com
。
PS: 使用 AWS 的 ACM 签署 DV 级别的证书时,可能也会遇到这个问题,最好将
example.com
和*.example.com
的证书一起生成