社内用など、インターネットに公開していないWowzaServerのSSL証明書をLet'sEncryptで更新する方法を調べたのでメモ。
ベースはこちらを参考にしました。
https://vanmarion.nl/blog/blog/ssl-letsencrypt-wowza-4-x-server-frontend/
前提
- docker をインストールしておいてください。
- 以下、「my-wowza.example.org」の部分は任意のドメインに読み替えてください。
wowza-letsencrypt-converter
Let'sEncryptの証明書をwowza用のJKS形式に変換するスクリプトをダウンロードします。
cd /usr/local/WowzaStreamingEngine/lib
wget https://github.com/robymus/wowza-letsencrypt-converter/releases/download/v0.2/wowza-letsencrypt-converter-0.2.jar
証明書のリクエスト
docker run -it --rm --name certbot -v "/etc/letsencrypt:/etc/letsencrypt" -v "/var/lib/letsencrypt:/var/lib/letsencrypt" certbot/certbot certonly --manual --preferred-challenges dns -d my-wowza.example.org
以下のようなメッセージが表示されますので、DNSサーバで「_acme-challenge.my-wowza」のTXTレコードに「abcdefghijklmnopqrstuvwxyz1234567890ABCDEFG」を指定して保存します。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.my-wowza.example.org with the following value:
abcdefghijklmnopqrstuvwxyz1234567890ABCDEFG
Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
converterでJKS形式に変換して出力します。
cd /usr/local/WowzaStreamingEngine/lib
java -jar wowza-letsencrypt-converter-0.2.jar -v /usr/local/WowzaStreamingEngine/conf/ /etc/letsencrypt/live/
cd /usr/local/WowzaStreamingEngine/conf
cat jksmap.txt
# 表示される keyStorePath と keyStorePassword を後で使います。
vi VHost.xml
# ここで、KeyStorePath と KeyStorePassword を書き換えます。
WowzaStreamingEngineの再起動
service WowzaStreamingEngine restart
TODO
- 自動更新