Certbot は、Electronic Frontier Foundation(EFF)によってサポートされている無料でオープンソースのツールであり、Web サーバー上で SSL/TLS 証明書を自動的に取得および更新するために使用されます。一般的な Web サーバーソフトウェア(Apache や Nginx など)と統合し、Let's Encrypt サービスを通じて無料の SSL/TLS 証明書を取得することができます。これらの証明書は、ウェブサイトやアプリケーションの通信を保護し、データが送信中に暗号化され、安全であることを確保します。Certbot は証明書管理プロセスを簡素化することにより、ウェブサイト管理者が HTTPS を実装しやすくし、ウェブサイトのセキュリティを向上させます。
Certbot は、SSL/TLS 証明書の管理および Let's Encrypt サービスとの対話に使用される一連の一般的なコマンドを提供しています。以下は、いくつかの一般的な Certbot コマンドとその機能です:
証明書の取得:
certbot certonly
:証明書を手動で取得しますが、インストールは行いません。
certbot --apache
:Apache サーバーを自動的に設定し、証明書を取得します。
certbot --nginx
:Nginx サーバーを自動的に設定し、証明書を取得します。
証明書のインストール:
certbot install
:証明書を Web サーバーに手動でインストールします。
証明書の更新:
certbot renew
:証明書を自動的に更新し、通常は定期的なタスクと組み合わせて証明書をタイムリーに更新します。
証明書の管理:
certbot delete
:指定した証明書を削除します。
certbot certificates
:現在インストールされている証明書の情報をリストします。
ヘルプとドキュメントの表示:
certbot --help
:Certbot のヘルプ情報を表示します。
certbot --version
:Certbot のバージョン情報を表示します。
これらのコマンドは基本的な証明書管理機能を提供し、具体的な要件に応じてパラメータやオプションを調整することができます。Certbot は、さまざまな機能や使用方法についての豊富なドキュメントとサンプルも提供しています。
私がよく使用するコマンドは、取得、表示、および削除です:
証明書の取得
sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d your.domain.name
コマンドには複数の -d を入力して、ドメインを追加できます。コマンド内のメールアドレスとドメインを置き換えることを忘れないでください。certbot は、既に取得した証明書を自動的に更新します。このコマンドは、証明書をシステムにダウンロードするだけで、nginx の設定ファイルは自動的に生成されません。
現在取得されている証明書の一覧表示
certbot certificates
このコマンドは、現在取得されている証明書の有効期限、パスなどの情報を表示します。
証明書の削除
certbot delete
このコマンドは、対話形式で証明書を選択して削除するのを支援します。コマンドを入力すると、現在存在する証明書が表示され、番号が表示されます。対応する番号を入力すると、証明書が削除されます。