Ssl-Certificate

certbot - 等待更新 TXT 記錄的正確方法是什麼?

  • August 9, 2021

我想用它certbot來創建一個萬用字元認證,在我執行certbot ...它後給我一個雜湊,告訴我等到我把它放在我域的 TXT 記錄上。

但我無法直接訪問我使用的 DNS 服務。我有一些辦公室程序來更新 DNS 設置,這需要時間,所以我不能在這裡打開 SSH 視窗。如果我重新執行certbot,雜湊會發生變化,並且會出現同樣的問題。

等待 DNS 刷新並保持雜湊不變的正確方法是什麼?謝謝!

我發現如果我在挑戰之前按 Ctrl-C(例如按 Enter),則雜湊不會改變。

所以我可以等待 DNS 更新然後重新執行certbot,它顯示相同的雜湊,現在我可以立即按 Enter。

AFAIK,TTL 與 DNS-01 挑戰無關。看來 Let’s Encrypt 檢查哪些伺服器是權威伺服器並直接查詢其中一個權威伺服器,因此必要的延遲是允許區域數據同步到所有權威伺服器,而不是等待任何記憶體過期(這將是其中 TTL 是相關的)。

也就是說,進行 Let’s Encrypt 的預期方式是實際自動化,無論您使用 HTTP-01 質詢還是 DNS-01 質詢。

這樣做的主要優點是,只需預先進行少量工作,證書實際上會根據需要自動更新(通過certbot renew定期呼叫),這對於使這些短期證書可行非常重要。

certbot帶有一組用於進行 DNS 更新的外掛(並且總是有實現您自己的選項)。

在發布這篇文章時,外掛列表是:

  • certbot-dns-cloudflare
  • certbot-dns-cloudxns
  • certbot-dns-digitalocean
  • certbot-dns-dns 簡單
  • certbot-dns-dnsmadeeasy
  • certbot-dns-google
  • certbot-dns-linode
  • certbot-dns-luadns
  • certbot-dns-nsone
  • certbot-dns-ovh
  • certbot-dns-rfc2136
  • certbot-dns-route53

(有關最新列表+相關說明的連結,請參閱文件)

即,基本上有一個支持 RFC2136 的外掛(定期 DNS動態更新,與您可能自己執行的大多數標準 DNS 伺服器兼容)+ 一組用於一些主要 DNS 服務提供商的專有 API 的外掛。

範例用法:

certbot certonly \
 --dns-rfc2136 \
 --dns-rfc2136-credentials ~/.secrets/certbot/rfc2136.ini \
 -d example.com

它們還有一個參數(名稱因外掛而異),例如--dns-rfc2136-propagation-seconds允許調整在完成挑戰之前等待多長時間(以允許區域數據同步到權威機構)。

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