更新された回答(以下の元の回答を参照)
私の最初の回答では、renew
コマンドを使用するときに提供したスクリプトは必要ないという事実に焦点を当てました。ただし、renew
コマンドが実際にこのシナリオに適用できるかどうかは確認していません。
コメント状態のcdhowieとbobpaul certbot renew
は、非インタラクティブモードであり、DNSチャレンジと組み合わせて、--manual-auth-hook
パラメーターを介してスクリプトを提供する必要があります。このスクリプトは、TXT
レコードを設定できる必要があります。--manual-cleanup-hook
パラメータを介して後でクリーンアップする別のスクリプトを提供することもできます。
これらのパラメーターを指定した場合、プロセス全体が対話なしで自動的に実行されます。
これらのパラメーターを指定しない場合、certbotは失敗します。
/opt/certbot # certbot renew --force-renewal
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/foobar.w9f.de.conf
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Could not choose appropriate plugin: The manual plugin is not working; there may be problems with your existing configuration.
The error was: PluginError('An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively.',)
手動モードで証明書を更新する場合は、証明書の取得に使用したコマンドを再実行する必要があります。この場合、certonly
コマンドは現在の証明書/構成を調べず、代わりに-d
パラメーターまたは対話モードでドメイン名を指定する必要があるため、スクリプトは優れたオプションです。
「certbot renew」を実行すると、スクリプトを使用せずにすべて自動的に更新されますか?
TL; DR:はい、そうです。
certbotのドキュメントを見てみましょう:
バージョン0.10.0以降、Certbotは、インストールされているすべての証明書の期限切れが近いかどうかを確認し、更新を試みる更新アクションをサポートしています。最も単純な形式は単純です
certbot更新
ここまでは順調ですね。
このコマンドは、30日以内に期限が切れる、以前に取得した証明書を更新しようとします。
これはあなたの質問に答えるはずです。注意:certbot
証明書を別のディレクトリに移動する状況をどれだけうまく処理できるかはわかりません。
同じ段落の後半:
他のプラグインまたはオプションを指定しない限り、証明書が最初に発行されたときに使用されたものと同じプラグインとオプションが更新の試行に使用されます。とは異なりcertonly
、renew
複数の証明書に作用し、常にそれぞれが有効期限に近いかどうかを考慮します。
あ、はい; certbot
スクリプトを使用せずに、すべての証明書を更新する必要があります。
最初にDNSチャレンジを使用して実際に新しい証明書を作成するにはどうすればよいですか?
投稿の最初に投稿したコマンドの何が問題になっていますか?
certbot -d example.com --manual --preferred-challenges dns certonly
dnsチャレンジを使用してexample.comの証明書を取得します。
証明書を作成する手順は次のとおりです。
certbot
投稿したコマンドを実行する
- コマンドがDNS TXTレコードを表示するのを待ちます
- そのTXTレコードを作成する
certbot
コマンドを続ける
- 指定したドメインの証明書を取得します
- TXTレコードを削除します(作成にのみ必要であり、更新には新しいレコードが必要であるため)
その完全なプロセスを自動化したい場合は、いくつかのDNSプロバイダーをサポートするレゴのようなツールを確認することをお勧めします。