Lets-Encrypt
certbot-nginx 中是否有“嘗試重新安裝此現有證書”的命令行標誌?
我有一個每天執行命令的腳本
certbot --nginx -d $DOMAIN
為許多域更新他們的證書
You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry. (ref: /etc/letsencrypt/renewal/****.conf) What would you like to do? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Attempt to reinstall this existing certificate 2: Renew & replace the certificate (may be subject to CA rate limits) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): Cert not yet due for renewal
如果證書即將到期,我總是選擇 1。是否有一個標誌可以傳遞給命令以使其始終選擇 1?
您可以嘗試使用
-n
參數執行命令:無需使用者輸入即可執行。這可能
需要額外的命令行標誌; 如果發現缺少一個,客戶將
嘗試解釋哪些是必需的
如果這沒有幫助您可以使用常用方法來回答命令行工具的問題:
- 將答案輸入命令
echo "1" | certbot [...]
- 利用
expect
- 使用其他方式編輯配置文件,例如,
sed
或您選擇的配置管理解決方案。
你應該使用
certbot renew
它會自動完成所有操作
renew 作用於多個證書,並始終考慮每個證書是否即將到期。因此,renew 適合(並且設計為)自動使用,以允許您的系統在適當的時候自動更新每個證書。由於 renew 僅更新即將到期的證書,因此它可以根據需要頻繁執行 - 因為它通常不會採取任何措施。
https://eff-certbot.readthedocs.io/en/stable/using.html#renewing-certificates
如果您的
certbot
安裝正確完成,則很可能已經設置了一個 cron 作業來執行此操作(因此您不必自己手動執行此操作)。我最近使用snapcertbot
安裝在 ubuntu 22 伺服器中,並自動添加了一個 cronjob 。/etc/cron.d/certbot