如何在 Amazon Linux 2 AMI EC2 執行個體上為 Apache 設定 Let's Encrypt 通配符憑證?

如何在 Amazon Linux 2 AMI EC2 執行個體上為 Apache 設定 Let's Encrypt 通配符憑證?

我有一個網域(假設是example.com),目前已設定 Let's Encrypt 證書,並example.comwww.example.comAmazon 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 設定中,如下所示:

Google Domains DNS 設定

然後,我透過使用以下網站並輸入_acme-challengeURL/主機名稱來驗證 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.confServerAlias*.example.com

相關內容