Docker版MisskeyサーバーのSSL証明書を更新してみた

この記事にはアフィリエイト広告が含まれています

Dockerを使ってたてたMisskeyサーバーのSSLサーバー証明書が期限切れ間近となりました。
このままだとアクセスできなくなってしまうので更新しました。
その手順を説明します。

こちらの記事の手順でたてたMisskeyサーバーを対象としています。
あわせてご覧ください。

目次

更新手順

実際の作業はMisskeyサーバーのコンテナではなく、リバースプロキシとして使っているNginxのコンテナが対象となります。

STEP
コンテナ用ディレクトリに移動する

Nginxのコンテナ用ディレクトリに移動します。

# 例
cd ~/docker/nginx
STEP
正常に更新されるか確認する

実際に更新をする前に問題なく更新できるかどうか、下記のコマンドを実行して確認します。

sudo docker compose run --rm certbot renew --webroot -w /var/www/html --dry-run

「Congratulations, all simulated renewals succeeded:」というメッセージの後に対象としているドメイン名があれば更新はうまくいくと思われます。

なお、上記コマンドで指定した「certbot」はcompose.yaml等で設定しているサービス名になります。

  certbot:
    image: certbot/certbot
    volumes:
      - /etc/letsencrypt:/etc/letsencrypt
      - /var/www/html:/var/www/html
    command: ["--version"]
STEP
実際に更新する

STEP2で正常に更新されることが確認できたら下記のコマンドを実行して更新します。

sudo docker compose run --rm certbot renew --webroot -w /var/www/html

STEP2で実行したコマンドから「–dry-run」を削除したものになります。

STEP
コンテナを再起動する

リバースプロキシとして使っているNginxのコンテナを下記のコマンドを実行して再起動します。

sudo docker compose restart

以上でSSLサーバー証明書の更新は完了です。

補足説明

更新手順 STEP2にもあるとおり、SSLサーバー証明書はホストマシンの/etc/letsencryptディレクトリ配下に配置されています。

/etc/letsencrypt/liveディレクトリ以下にドメイン毎のディレクトリが存在します。
その中のファイルの更新日時を見れば実際に更新されているかを確認することができます。


まとめ

コマンド一つで簡単に更新できることが分かっていただけたかと思います。

この記事が参考になれば幸いです。


広告


この記事が気に入ったら
フォローしてね!

  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次