Caddyというものを使えば簡単にSSLの鯖が立てられると聞いて、試してみた。
公式サイト: Caddy - The Ultimate Server with Automatic HTTPS
公式ドキュメント: Welcome -- Caddy Documentation
インストール
バイナリをダウンロードするかビルドして入手し、パスを通す
Download Caddy -- Caddy Documentation
構成
今回は階層的にはこんな具合。
テキトーなファイルが無いと面白くないのでhtmlファイルを置いておく。
C:/
tool/
caddy/
caddy.exe
exapmle/
Caddyfile
ver/
a.html
test/
b.html
設定
Caddyfile
拡張子なし のファイルを作成
仮に C:/example/
に置いておく
# url:port
# {$SITE_ADDRESS} としておけば環境変数から設定可能
localhost {
# rootは指定パスをサーバールートにする
root * C:/ver/
# ファイル一覧をみる
file_server browse
}
localhost:2019 {
respond ":2019 response"
}
localhost:2020 {
# リバースプロキシの設定
reverse_proxy https://localhost:2021
}
localhost:2021 {
root * C:/test/
log {
output file C:/test/access.log
}
}
起動・停止
cd C:/example/
Caddyfile
のある場所まで移動して、起動したら
https://localhost
,https://localhost:2020
など設定したパスにブラウザでアクセス
テスト向け
caddy run
ctrl + C
で抜ける。
サービス・デーモンとして
caddy start
caddy stop
感想
「設定が簡潔で読みやすく、公式ドキュメントが散らかっていない」という点、
caddy start
で動作しているときにダウンタイムなしで設定を更新できるのもなかなかの感動ポイント。