
我有一個網域(假設是example.com
),目前已設定 Let's Encrypt 證書,並example.com
在www.example.com
Amazon Linux 2 AMI EC2 執行個體上為 Apache 正常工作,並且我正在嘗試重新配置該憑證以將其設為通配符網域(即*.example.com
)。
我透過 SSH 連接到 EC2 執行個體並執行以下命令來嘗試執行此操作(使用真實域,而不是example.com
):
sudo certbot certonly --manual --preferred-challenges=dns --server https://acme-v02.api.letsencrypt.org/directory -d example.com -d *.example.com
運行該命令後,我收到以下訊息:
然後,我按照提示將 TXT 記錄新增至 Google Domains 中的 DNS 設定中,如下所示:
然後,我透過使用以下網站並輸入_acme-challenge
URL/主機名稱來驗證 TXT 記錄是否存在:
https://dnslookup.online/txt.html
確認記錄存在後,我在 SSH 控制台中按 Enter 鍵,但出現以下錯誤:
我做錯了什麼不允許我頒發通配符憑證?非常感謝任何幫助/指導。謝謝。
編輯:我應該注意,我使用以下帖子作為起點:https://community.letsencrypt.org/t/you-may-need-to-use-a- Different-authenticator-plugin/115026/4
答案1
我解決了這個問題。當我將 TXT 記錄輸入 Google Domains 時,我應該只輸入_acme-challenge
主機名,但我輸入的是_acme-challenge.example.com
,這導致 TXT 記錄主機名稱不正確。
修復該問題後,第一個挑戰成功通過,然後我必須通過第二個隨機字串挑戰才能使其正常工作。
請注意,使用 Google Domains 時,對於第二次 TXT 挑戰,您不應建立新的 TXT 記錄或取代目前的 TXT 記錄值。相反,您希望為現有 TXT 記錄新增值(同時保持第一個值不編輯)。
另外,在這項工作中,我必須更新伺服器上的/etc/httpd/conf/httpd.conf
和檔案才能使其正常工作。完成所有操作後,不要忘記重新啟動 Apache。希望這樣做之後,它也對您有用。/etc/httpd/conf/httpd-le-ssl.conf
ServerAlias
*.example.com