Certbot 將 www 域添加到現有域證書
我已經按照 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
取決於您的特定配置。