Bas*_*asj 0 https ssl-certificate lets-encrypt certbot
我想获得一份适用于我所有子域的证书*.example.com
。
这有效:
certbot-auto certonly --webroot --webroot-path /home/www/example/ --domain example.com
--domain www.example.com --email certbot@example.com
Run Code Online (Sandbox Code Playgroud)
但这(与 *.
):
certbot-auto certonly --webroot --webroot-path /home/www/example/ --domain example.com
--domain *.example.com --email certbot@example.com
Run Code Online (Sandbox Code Playgroud)
失败:
获取新证书
执行以下质询:
具有当前选定身份验证器的客户端不支持满足 CA 的任何质询组合。您可能需要使用可以通过 DNS 进行挑战的身份验证器插件。
如何使用certbot-auto
生成证书*.example.com
?
如评论中所述,解决方案是使用 DNS 质询验证,例如:如何使用让我们加密 DNS 质询验证?.
首先删除您以前的证书(如果需要):
certbot-auto delete
Run Code Online (Sandbox Code Playgroud)
然后生成一个带有 DNS 质询的新证书:
certbot-auto -d *.example.com -d example.com --manual --preferred-challenges dns certonly
Run Code Online (Sandbox Code Playgroud)
然后将 TXT 挑战复制/粘贴到您的 DNS 设置中,例如:
_acme-challenge.example.com TXT Chs768564536576SDGdG6SQDYTZAEq
Run Code Online (Sandbox Code Playgroud)
如果需要,重新启动 apache,它可以工作。
PS:在我的情况下,不需要安装身份验证器插件(它可能是开箱即用的吗?)