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付きは好きでないので、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通信を維持できます。