Debian

Certbot 將 www 域添加到現有域證書

  • February 10, 2022

我已經按照 Let’s Encrypt 自己的文件中的本教程在我的 Apache 伺服器上使用 Debian 8安裝了Let’s Encrypt with Certbot的 SSL 證書: https ://certbot.eff.org/#debianjessie-apache

$ certbot --apache

您需要指定要為其安裝證書的域,但我只添加了example.com域。現在我想添加www.example.com,但找不到如何執行此操作。

**更新:**您現在可以通過傳遞--expand標誌來做到這一點(請參閱文件):

--expand告訴 Certbot 使用包含所有舊域和一個或多個其他新域的新證書更新現有證書。

有關範例,請參見此答案。


簡而言之:你不能。

您在初始配置期間指定的域成為最終證書的組成部分,然後由 Let’s Encrypt 簽名。您不能通過添加其他域甚至子域來追溯更改它,因為這會破壞其有效性。

解決方法:從頭開始!(與 certbot 沒什麼大不了的)

現有的答案是正確的,但並不是每個人都清楚(我不是)正在發生的事情,尤其是在閱讀了有關該主題的官方 certbot 文件之後。

首先,您需要列出您現有的證書,以明確您已經擁有的證書:

sudo certbot certificates

您會注意到每個證書都有一個“名稱”。假設您有一個名稱為 的證書example.com,並且它也有一個域的證書example.com。您可以使用該certonly選項僅更新證書,並使用該--cert-name選項準確指定您要更新的證書不要忘記包括您現有的域以及您要添加的新域。

sudo certbot certonly --cert-name example.com -d example.com,www.example.com

如果您相信 certbot 能夠找出正確的證書(類似於 Google 過去用於搜尋的“我感覺很幸運”按鈕),那麼您似乎可以跳過--cert-name並使用--expand。這樣,certbot 將通過選擇具有您指示的域的子集(正確子集,文件稱“嚴格子集”)的證書來查找您所指的證書。

sudo certbot certonly --expand -d example.com,www.example.com

在所有這些中,您是否需要--webroot取決於您的特定配置。

引用自:https://unix.stackexchange.com/questions/301266