Ssl-Certificate

Letsencrypt 為所有子域 *.example.com

  • April 14, 2020

我想獲得一份適用於我所有子域的證書*.example.com

這有效:

certbot-auto certonly --webroot --webroot-path /home/www/example/ --domain example.com 
                               --domain www.example.com --email certbot@example.com

但是這個(帶 *.):

certbot-auto certonly --webroot --webroot-path /home/www/example/ --domain example.com 
                               --domain *.example.com --email certbot@example.com

失敗:

獲取新證書

執行以下質詢:

具有目前選定身份驗證器的客戶端不支持任何滿足 CA 的質詢組合。您可能需要使用可以通過 DNS 進行挑戰的身份驗證器外掛。

如何使用certbot-auto生成證書*.example.com

正如評論中提到的,解決方案是使用 DNS 質詢驗證,如下所示:如何使用 Let’s Encrypt DNS 質詢驗證?.

首先刪除您以前的證書(如果需要):

certbot-auto delete 

然後生成一個帶有 DNS 質詢的新證書:

certbot-auto -d *.example.com -d example.com --manual --preferred-challenges dns certonly

然後將 TXT 質詢複製/粘貼到您的 DNS 設置中,例如:

_acme-challenge.example.com TXT Chs768564536576SDGdG6SQDYTZAEq

如果需要,重新啟動 apache,它就可以工作了。

PS:在我的情況下,不需要安裝驗證器外掛(它可能是開箱即用的嗎?)

引用自:https://serverfault.com/questions/1012218