OpenLiteSpeedのコンテナでSSL証明書の更新

OpenLiteSpeedのコンテナでSSL証明書の更新

本記事では、LiteSpeed Technologiesが公式提供する ols-docker-env を使用し、OpenLiteSpeedのコンテナ環境でSSL証明書を更新する方法を解説します。
従来は certbot を使ってLet’s Encryptの証明書を更新していましたが、今回は ols-docker-env に含まれているスクリプトを利用しました。実行したところ、ZeroSSLによるSSL証明書が発行されました。
2025/04: 有効期限が来たので再度更新したところLet’s Encryptにより証明書が発行されてました。

目次

環境準備

まず、ols-docker-envリポジトリをクローンして環境をセットアップします。以下を参考にしてください。
OpenLiteSpeed + WordPress を OpenLiteSpeed 公式 Docker で運用する

証明書更新の手順

WebAdmin画面での確認

OpenLiteSpeedのWebAdminにログインし、以下の設定を確認します。

SSL証明書のパス設定

[WebAdmin] > [Virtual Hosts] > [SSLタブ] に移動し、以下の値が設定されていることを確認します。

  • Private Key File: /root/.acme.sh/certs/$VH_NAME_ecc/$VH_NAME.key
  • Certificate File: /root/.acme.sh/certs/$VH_NAME_ecc/fullchain.cer

ドキュメントルートの確認

[Generalタブ] を選択し、ドキュメントルートを確認します。

  • Document Root: /var/www/vhosts/$VH_NAME/html

このパスに対応する site/<対象バーチャルホスト名>/html ディレクトリがあることを確認し、存在しない場合は作成します。

mkdir -p site/<対象バーチャルホスト名>/html

SSL証明書の更新

SSL証明書を更新するために、以下のコマンドを実行します。

bash bin/acme.sh -D <対象バーチャルホスト名>

2025/04/30追記

bin/acme.shはols-docker-envのディレクトリにあります。ols-docker-envに関しては過去記事を参照ください
SSL証明書の更新は、-r(renew)や-f(force)のフラグは不要のようです。短期間で更新しようとするとはじかれるので、更新できるか確認する際に使用してみてください。

※注意(2025/05/09追記)
acme.shのスクリプトでは、www付きとwwwなしの両方にアクセスできる必要があります。DNSの設定とolsサーバの設定でwww付きでアクセスできることを確認してください

www付きとwwwなしのレコード

www付きは好きでないので、OpenLiteSpeedのRewrite Rulesでwww付きの場合はrewriteしています。

  • Rewrite Rules
    RewriteCond %{HTTP_HOST} ^www\.blog\.donguri3\.net$
    RewriteRule ^(.*)$ https://blog.donguri3.net/$1 [R=301,L]

実行結果

以下のようなログが表示されれば、SSL証明書の更新は成功です。

[Start] Renew ACME
[Fri Feb 14 08:17:40 JST 2025] The domain '<対象バーチャルホスト名>' seems to already have an ECC cert, let's use it.
[Fri Feb 14 08:17:40 JST 2025] Renewing: '<対象バーチャルホスト名>'
[Fri Feb 14 08:17:51 JST 2025] Getting webroot for domain='<対象バーチャルホスト名>'
[Fri Feb 14 08:17:52 JST 2025] Verifying: <対象バーチャルホスト名>
[Fri Feb 14 08:18:01 JST 2025] Success
[Fri Feb 14 08:18:37 JST 2025] Your cert is in: /root/.acme.sh/certs/<対象バーチャルホスト名>_ecc/<対象バーチャルホスト名>.cer
[Fri Feb 14 08:18:37 JST 2025] Your cert key is in: /root/.acme.sh/certs/<対象バーチャルホスト名>_ecc/<対象バーチャルホスト名>.key

まとめ

OpenLiteSpeedのコンテナ環境でSSL証明書を更新するには、WebAdmin画面での設定を適切に行うことが重要です。これにより、安全なHTTPS通信を維持できます。

2025-05-10サーバ&テクノロジ

Posted by 納戸 工房