在 Debian Jessie 上升級 certbot
嗨,我有一台基於 Debian Jessie 的機器,執行 apache 網路伺服器以及
certbot 0.10.2
.由於此消息,我收到:
自 2021 年 6 月 1 日起,您將無法再使用 ACMEv1 續訂證書。您應該升級到兼容 ACMEv2 的客戶端,否則證書頒發將失敗。
我想升級到與 ACMEv2 兼容的 certbot 版本。
到目前為止我所做的是:
echo 'deb http://archive.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/backport.list echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/no-check apt update
現在,據我所知,我應該能夠執行:
apt-get install python-certbot-apache -t jessie-backports
並安裝最新的反向移植版本,但由於我已經安裝了 certbot 並且我已經頒發了證書,我想升級而不是安裝。
是否可以
-only-upgrade
在單個軟體包上使用backports
certbot 或至少解除安裝舊版本的 certbot 而不刪除已頒發的證書?**PS:**我看到有人想
sudo apt -t jessie-backports upgrade
更新整個系統,但我不知道是否可以在單個包上使用非常感謝您提前。
感謝大家的支持。
我終於解決了這個問題,按照這裡的建議使用了不同的ACME 客戶端
儘管安裝證書的過程很簡單,但我想分享我的步驟:
首先安裝客戶端:
wget -O - https://get.acme.sh | sh -s email=my@example.com
安裝完成後,必須關閉目前終端並重新打開才能使別名生效。
注意:安裝還會創建每日 cron 作業以檢查和更新證書(如果需要),因此,如果您在 crontab 中安排了其他 certbot 任務,請將其刪除。如果您沒有任何 cronjobs,則意味著更新任務是自動化的,因此,您有兩個選擇:
certbot delete
以互動方式刪除舊證書的問題- 只需重命名
/etc/letsencrypt/renewal/example.com.conf
文件,如果您不想刪除它。無論如何,只有在過程結束時才這樣做,當一切正常時。
因為我在apache 伺服器上並且我需要**2 個域(裸域和完整域),**所以我使用了 apache 模組,如下所示:
acme.sh --issue --apache -d example.com -d www.example.com
如果一切順利,這應該已經創建了證書(檢查控制台的目前路徑)。
現在是時候安裝證書了,所以我創建了一個文件夾來儲存它:
mkdir -p /etc/apache2/certificates/example.com
然後我在
example.com-le-ssl.conf
*(首先進行備份;-))*中添加了以下行以反映即將發生的更改,並刪除了letsencrypt創建的舊行:SSLEngine on SSLCertificateFile /etc/apache2/certificates/example.com/cert.pem SSLCertificateChainFile /etc/apache2/certificates/example.com/fullchain.pem SSLCertificateKeyFile /etc/apache2/certificates/example.com/privkey.pem SSLProtocol all -SSLv2 -SSLv3 SSLCipherSuite ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA SSLHonorCipherOrder on SSLCompression off SSLOptions +StrictRequire
最後我發出了安裝證書並重新載入 apache 伺服器的命令
acme.sh --install-cert -d example.com \ --cert-file /etc/apache2/certificates/example.com/cert.pem \ --key-file /etc/apache2/certificates/example.com/privkey.pem \ --fullchain-file /etc/apache2/certificates/example.com/fullchain.pem \ --reloadcmd "service apache2 force-reload"