優れたソフトウェアと実用的なチュートリアル
Certbot とは何ですか?
Certbot は、Let's Encrypt 証明書の使用を自動化し、手動で管理される Web サイトで HTTPS を有効にする無料のオープン ソース ソフトウェア ツールです。
Certbot は、カリフォルニア州サンフランシスコに拠点を置き、デジタル プライバシー、言論の自由、イノベーションを守る 501(c)3 非営利団体である Electronic Frontier Foundation (EFF) によって開発されました。
無料のSSL証明書ロボットのウェブサイト:https://certbot.eff.org/
無料のSSLドメイン名証明書をすぐに申請する
まずEFFの公式サイトを開きますhttps://certbot.eff.org/
クリックcertbotの手順、 入力https証明書お申し込みページにて。
「ソフトウェア」でサーバーで使用しているHTTPサーバーを選択し、「システム」でサーバーのオペレーティングシステムを選択します。以下では、Centos8上のNginxを例に、httpsドメイン名証明書を簡単に申請する方法を説明します。
CentOS 8でNginx用の無料SSL証明書を申請する
Certbot snapはx86_64、ARMv7、ARMv8アーキテクチャをサポートしています。ほとんどのユーザーにはsnap経由でCertbotをインストールすることを強く推奨しますが、ここ代替のインストール手順を見つけます。
1.サーバーにSSH接続する
sudo 権限を持つユーザーとして、HTTP ウェブサイトを実行しているサーバーに SSH 経由で接続します。
2. snapdをインストールする
snapd をインストールし、指示に従ってクラシック スナップ サポートを有効にする必要があります。
によるとスナップクラフトのウェブサイトこれらの指示はsnapdをインストールする。
CentOS8にスナップをインストールする
Snapは、CentOS 8およびCentOS 7のバージョン7.6以降で利用できます。また、Red Hat Enterprise Linux (RHEL) 7.6以降でも利用できます。
CentOS 8およびCentOS 7のパッケージは、各ディストリビューションのExtra Packages for Enterprise Linux (EPEL)リポジトリにあります。このリポジトリを追加する手順はCentOS 8とCentOS 7で若干異なるため、以下にそれぞれ個別に記載しています。
実行している CentOS のバージョンを知る必要がある場合は、次のように入力します。
/etc/centos-release を cat する
CentOS リポジトリをディストリビューションに追加していない場合は、次のように追加できます。
EPEL リポジトリは、次のコマンドを使用して CentOS 8 システムに追加できます。
sudo dnf インストール epel-release sudo dnf アップグレード
snapdをインストールする
CentOS インストールに EPEL リポジトリを追加したら、snapd パッケージをインストールするだけです。
dnf -y snapd をインストール
インストール後、マスター スナップ通信ソケットを管理する systemd ユニットを有効にする必要があります。
sudo systemctl enable --now snapd.socket
クラシック スナップのサポートを有効にするには、次のコマンドを入力して、/var/lib/snapd/snap と /snap の間にシンボリック リンクを作成します。
sudo ln -s /var/lib/snapd/snap /snap
知らせ:システムを再起動して、スナップパスが正しく更新されていることを確認してください。これでスナップがインストールされ、準備完了です。
3. snapdのバージョンが最新であることを確認する
snapd が最新バージョンであることを確認するには、マシンのコマンド ラインから次の手順を実行します。
sudo スナップインストールコア
4. certbot-autoとCertbot OSパッケージを削除します。
オペレーティングシステムのパッケージマネージャー(apt、dnf、yumなど)を使用してCertbotパッケージをインストールした場合は、Certbot snapをインストールする前にそれらを削除してください。これにより、コマンド実行時に使用されるcertbotがオペレーティングシステムのパッケージマネージャーからインストールされたものではなく、snapであることが保証されます。これを行うための具体的なコマンドはオペレーティングシステムによって異なります。centos8の場合のアンインストールコマンドは次のとおりです。
sudo dnf certbot を削除します
以前に certbot-auto スクリプト経由で Certbot を使用していた場合は、ここの手順に従ってそのインストールも削除する必要があります。
5. 無料のSSL証明書ロボットをインストールする
Certbot をインストールするには、マシンのコマンド ラインでこのコマンドを実行します。
sudo snap install --classic certbot
6. Certbotコマンドを準備する
certbot コマンドが実行できることを確認するには、マシンのコマンド ラインで次のコマンドを実行します。
sudo ln -s /snap/bin/certbot /usr/bin/certbot
7. Certbotの実行方法を選択する
証明書を手動で設定するには:証明書を要求するだけで、nginx の設定を手動で変更したい場合は、このコマンドを実行します。
sudo certbot certonly --nginx
証明書を自動的に設定します:次のコマンドを実行して証明書を取得し、Certbot が nginx 構成を自動的に編集してサービスを提供できるようにし、わずか数ステップで HTTPS アクセスを開きます。
sudo certbot --nginx
あなたがしたい場合はドメイン名証明書nginx でドメイン名を設定した後、自動証明書セットアップ コマンドを使用して、元の証明書にドメイン名を追加できます。
ステップ 1: 電子メール アドレスを入力します (緊急の更新とセキュリティ通知用) (キャンセルするには「c」と入力します): 電子メールを入力するか、C を押してキャンセルします。
ステップ2:https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf の利用規約をお読みください。ACMEサーバーへの登録に同意する必要があります。同意しますか?「Y」を選択してください。
ステップ3:最初の証明書が正常に発行されたら、あなたのメールアドレスを電子フロンティア財団(EFF)、Let's Encryptプロジェクト、そしてCertbotを開発する非営利パートナーと共有しますか?暗号化されたウェブに関する私たちの活動、EFFのニュース、イベント、そしてデジタルの自由を支援する方法についてのメールをお送りします。選択:Y
ステップ4: HTTPSを有効にする名前を選択してください。適切な番号をカンマまたはスペースで区切って選択するか、入力欄を空白のままにしてください。表示されているすべてのオプションを選択してください(キャンセルするには「c」と入力してください)。Enterキーを押して開始してください。ドメイン名証明書を申請する
証明書を正常に取得しました。
証明書は次の場所に保存されます: /etc/letsencrypt/live/uzbox.tk/fullchain.pem
キーは次の場所に保存されます: /etc/letsencrypt/live/uzbox.tk/privkey.pem
この証明書は2022年3月7日に期限切れとなります。これらのファイルは証明書の更新時に更新されます。Certbot は、この証明書をバックグラウンドで自動更新するためのスケジュールタスクを設定しました。
展開証明書
uzbox.tk 証明書が /etc/nginx/nginx.conf に正常にデプロイされました
おめでとうございます! https://uzbox.tk HTTPSが正常に有効化されました
8. 無料のSSL自動更新テスト
お使いのシステムのCertbotパッケージには、証明書の有効期限が切れる前に自動更新するcronジョブまたはsystemdタイマーが付属しています。設定を変更しない限り、Certbotを再度実行する必要はありません。以下のコマンドを実行することで、証明書の自動更新をテストできます。
sudo certbot renew --dry-run
certbot を更新するコマンドは、次のいずれかの場所にインストールされます。
- /etc/crontab/
- /etc/cron.*/*
- systemctl list-timers
9. Certbotが動作することを確認する
サイトが正しく設定されていることを確認するには、Web サイトにアクセスし、ブラウザの URL バーにあるロック アイコンを探します。
10. SSL証明書にドメイン名を追加する方法
同じサーバー上に複数のウェブサイトを構築する場合、各ウェブサイトのドメイン名を申請する必要があります。SSL証明書Certbot証明書ロボットは、nginx内のすべてのドメイン名をSSL証明書セットに保存できます。SSL証明書の管理、更新、メンテナンスに便利です。
SSL 証明書に新しいドメイン名を追加する方法:
証明書を申請する必要がある新しいドメイン名をバインドするようにnginxを設定します。ドメイン名がバインドされたら、nginxサービスまたはサーバーを再起動して、nginxの設定を有効にします。
再起動します (変更した設定を有効にするために nginx を停止しないでください)。
systemctl nginx をリロードする
再起動:
systemctl nginx を再起動する
サービスステータスを確認します:
systemctl ステータス nginx
次に、サーバー上で次のコマンドを入力し、Certbot 証明書ロボットを使用して証明書の申請を開始します。
sudo certbot certonly --nginx
上記のコマンドを使用して、SSL ドメイン名証明書を手動で設定します。
デバッグ ログを /var/log/letsencrypt/letsencrypt.log に保存しています HTTPS を有効にする名前は何ですか? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: nginx にバインドするように設定したドメイン名2: 以前に nginx で申請したドメイン名 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 適切な番号をコンマまたはスペースで区切って選択するか、入力を空白のままにして表示されているすべてのオプションを選択します (キャンセルするには「c」を入力してください):
Enter キーを押して、アプリケーションの次のステップに進みます。
要求したドメインの一部を含む既存の証明書があります (参照: /etc/letsencrypt/renewal/uzbox.tk.conf) 次の名前が含まれています: 新しい証明書に次の名前を要求しました: この既存の証明書を拡張して、新しい証明書に置き換えますか? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (E)xpand/(C)ancel: e
E キーを押して次の手順に進みます。
uzbox.tk とその他 4 つのドメインの既存の証明書を更新しています。証明書を正常に受信しました。証明書は次の場所に保存されています: /etc/letsencrypt/live/uzbox.tk/fullchain.pem 鍵は次の場所に保存されています: /etc/letsencrypt/live/uzbox.tk/privkey.pem この証明書の有効期限は 2022-04-19 です。これらのファイルは証明書の更新時に更新されます。 Certbot は、この証明書を自動的に更新するためのスケジュールされたタスクを設定しました - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Certbot が気に入った場合は、次の方法で当社の活動をサポートすることを検討してください。 * ISRG / Let's Encrypt に寄付する: https://letsencrypt.org/donate * EFF に寄付する: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
新しいドメイン名SSL証明書申請さて、ドメイン名の SSL 証明書アドレスは以前の証明書アドレスのままなので、nginx で変更する必要はありません。