こんにちは、私はApache Webサーバーと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を削除できますか?
添付:システム全体を更新するのと同じことを見たことがありますが、sudo apt -t jessie-backports upgrade
単一のパッケージで動作するかどうかはわかりません。
よろしくお願いします。
答え1
ご支援ありがとうございます。
最後に、別の方法を使用して問題を解決しました。ACMEクライアント提案に従ってくださいここ
証明書をインストールするプロセスがそれでもとても簡単、私のステップを共有したいと思います。
まず、クライアントをインストールします。
wget -O - https://get.acme.sh | sh -s [email protected]
インストールが完了した後にエイリアスを適用するには、現在の端末を閉じて再度開く必要があります。
気づく:インストールも作成されます。毎日のクローン作業証明書を確認して更新する必要がある場合は、crontabに他のcertbotジョブがスケジュールされている場合は削除してください。 cronjob がないと、更新操作が自動的に実行されるという意味なので、次の 2 つのオプションがあります。
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"
答え2
このパッケージはpython-certbot-apache
jessie-backportsでは機能しません。 DebianのバージョンをStretchまたはBusterにアップグレードする必要があります。
答え3
certbot-autoを操作しようとしています。https://github.com/certbot/certbot/blob/master/certbot-auto
また、もはやサポートされておらず、JessieのPython依存関係に対するいくつかの修正が必要であり、スクリプト自体のいくつかのチェックに注釈が付けられましたが、Jessieシステムで正常に使用されていますが、残念ながらまだアップグレードできません。
wget https://raw.githubusercontent.com/certbot/certbot/1.11.x/certbot-auto
chmod +x certbot-auto
in 894 add:
DEPRECATED_OS=0
in 1753 change:
Bootstrap To BootstrapDebCommon
Run: NO_SELF_UPGRADE=1 ./certbot-auto
アップデートクローンでもcertbotとenvvarの代わりにフルパスでcertbot-autoを呼び出します。
これは非常にハッキング的で、依存関係、パッケージ、またはAPIが変更された場合は明らかに再び中断される可能性があります。これは(セキュリティ)更新も受信しません(Jessie自体も受信しません)。
答え4
apt-get install python-certbot-apache -t jessie-backports
python-certbot-apache
以前のバージョンがすでにインストールされている場合はアップグレードされます。動詞を使用してもinstall
パッケージが最初からインストールされるわけではありません。