Rainbow Engine

IT技術を分かりやすく簡潔にまとめることによる学習の効率化、また日常の気付きを記録に残すことを目指します。

Apache

Let’s Encryptの証明書の自動更新の手順(Apacheに適用した例で解説)

投稿日:2021年3月2日 更新日:

<目次>

(1) Let’s Encryptの証明書の自動更新の手順(Apacheに適用した例で解説)
 (1-1) Let’s Encriptで発行した証明書の期限について
 (1-2) 自動化に必要なコマンド:renew
 (1-3) 自動化の仕組みと設定方法:cron
 (1-4) 更新が正常に行えたか?のチェック

(1) Let’s Encryptの証明書の自動更新の手順(Apacheに適用した例で解説)

(1-1) Let’s Encriptで発行した証明書の期限について

Let’s Encryptで発行した証明書は90日間有効ですが、万が一トラブルが起きた時のバッファも考慮して、60日程度での更新が推奨されています。そのため、証明書の状態をチェックして更新する処理を自動化する対応が望まれます。

目次にもどる

(1-2) 自動化に必要なコマンド:renew

certbotのrenewコマンドは現在インストールされている証明書をチェックし、有効期限が残り30日未満の場合は更新を行ってくれます。このrenewコマンドには「–dry-run」というオプションがあり、これにより更新のシミュレーションをする事ができます。

(コマンド)
$ sudo certbot renew --dry-run
(出力例)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of apache server; fullchain is
/etc/letsencrypt/live/tennis-database.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)
 
Congratulations, all renewals succeeded. The following certs have been renewed:
  /etc/letsencrypt/live/tennis-database.com/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 
(図121)

 

(参考)
もし複数のドメインを含んだ証明書の場合、ドメイン名は1つしか表示されませんが、実際の更新は全てのドメインに対して適用されます。
 

(1-3) 自動化の仕組みと設定方法:cron

定期的な更新(renew)を自動化するための手段の一つとして、今回は「cron」を使った方法を見ていきます。renewは残り期限が30日未満の場合に更新を行うので、cronによる更新のトライは週次または日次で行っていくのが確実です(※EFFの推奨では1日に2回の更新トライを推奨しており、更に頻度が高い)。

①crontabを開く
 
定期的にスケジューリングされたタスクを計画するには「crontab」を編集します。viエディタ等を使って編集を行います(⇒viエディタの使い方)。私の環境下では「/etc/」直下にcrontabがあります。
 
$ sudo vi crontab
 
(図131)
 

②スケジュールの定義
次のスケジュールは1日2回、0時(24時)と12時にrenewを試行する設定です。

0 0,12 * * * certbot renew

(図132)

目次にもどる

(1-4) 更新が正常に行えたか?のチェック

更新が上手く行ったかどうか?をチェックするための手段を1つご紹介します。こちらの「SSL Checker」を使う事で、証明書が正常に更新されたか?をテストする事ができます。

使い方は非常に簡単で、対象のドメイン名を入力してボタンを押下するのみでチェックを行ってくれます。

 

(図141)チェック結果例
 

Adsense審査用広告コード


Adsense審査用広告コード


-Apache

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

Apacheのリバースプロキシでセッションを維持する方法

<目次> (1) Apacheのリバースプロキシでセッションを維持する方法  (1-1) 発生状況・エラーメッセージ  (1-2) 調査  (1-3) 原因  (1-4) 対処法 (1) Apache …

Apache HTTP Serverとは?概要や主要な機能についてご紹介

<目次> (1) Apache HTTP Serverとは?概要や主要な機能についてご紹介  (1-1) Apacheとは?  (1-2) Apacheの主な機能  (1-3) Apacheの使用例 …

Apacheのリバースプロキシの設定方法をご紹介

<目次> (1) Apacheのリバースプロキシの設定方法をご紹介  (1-1) 設定の概要  (1-2) 設定の手順   (1-2-1) STEP1:リバースプロキシ用のモジュール確認   (1-2 …

ApacheをCentOS 7にインストールする手順と「yum install httpd」のエラー対処など

(0)目次&概説 (1) 記事の目的  (1-1) 目的とApache概要  (1-2) 前提条件 (2) Apacheの導入手順  (2-1) Apacheのインストール  (2-2) Apache …

TomcatのURLに付くポート番号8080を非表示にしてドメイン名のみでサイトにアクセスする方法と手順

本記事で実現したい事は下記2点、①URLのポート番号・アプリ名を非表示(リバプロ)と②JSP/Servlet名非表示(web.xml)です。これらを実現する事でブラウザにドメイン名のみ(例:XXXX. …

  • English (United States)
  • 日本語
Top