このチュートリアルでは、LinuxサーバーでLet's EncryptのSSL証明書を自動更新する方法を説明します。知らない人のために、Let's Encryptは無料のオープン認証局です( CA)Webサイトやその他のサービスに無料の証明書を提供します。このサービスはElectronic Frontier Foundation、Mozilla、Cisco Systems、およびAkamaiによってサポートされています。残念ながら、LetsEncrypt.orgの証明書の有効期間は現在3か月です。つまり、次のことを行う必要があります。今のところ、四半期ごとに証明書を更新してください。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ‘ルート権限を取得するコマンドに。
SSL証明書の暗号化はインストールから90日後に期限切れになるため、期限切れになる前に更新する必要があります。 certbotを使用して証明書をインストールした場合 次に、証明書を自動更新するためのcronジョブをすでに作成している必要があります。カスタムインストールの場合、同様のcronジョブを作成することもできます。 certbotの自動更新ジョブがどのように機能するかを学びましょう。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:Ubuntuまたはその他のDebianベースまたはRHELベースのディストリビューション。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。
自動更新SSL証明書を暗号化しましょう
手順1.CertbotRenewコマンド。
Certbotには、既存の証明書を更新するためのスクリプトが付属しています。以下のように、1回のドライランで更新スクリプトをテストできます。
sudo certbot renew --dry-run
上記のテストが成功した場合は、設定された間隔でこのスクリプトを実行するcronジョブを作成します。
ステップ2.CertbotのCronジョブの自動更新。
certbotを使用して証明書をインストールすると、証明書を更新するためのcronジョブが自動的に作成されます。オペレーティングシステムに応じて、このcronジョブを確認できます。たとえばDebian certbot auto- cronjobの更新は/etc/cron.d/certbot
にあります。 :
nano /etc/cron.d/certbot
# /etc/cron.d/certbot: crontab entries for the certbot package # # Upstream recommends attempting renewal twice a day # # Eventually, this will be an opportunity to validate certificates # haven't been revoked, etc. Renewal will only occur if expiration # is within 30 days. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(43200))' && certbot -q renew
おめでとうございます!Let'sEncrypt証明書を正常に更新しました。LinuxシステムでLet'sEncrypt SSL証明書を自動更新するためにこのチュートリアルを使用していただきありがとうございます。追加のヘルプや役立つ情報については、 Let'sEncryptの公式ウェブサイト。