最近の Windows Update で、IIS が使用不能になってしまいました。(https://forest.watch.impress.co.jp/docs/news/2055701.html)まあすぐに対応パッチが出るでしょうが、仕事を止めるわけにもいかないので、代替となる Web サーバーを構築することにしました。
一番に挙げられるのが nginx です。多数の処理を高速にこなせるハイパフォーマンスですが、今回は Caddy というものを触ってみました。特長としては、設定が簡単ということです。
ここで使用するファイルはふたつのみ。実行ファイル(exe)と、設定ファイルです。
実行ファイルについてはダウンロードするだけなので問題無いとして、サーバーを有効化するには設定ファイルを指定して起動するだけです。
caddy.exe run --config "Caddyfile"
そして肝心の設定ファイル、Caddyfile という名前で登録するのが一般的のようです。
中身については、いたってシンプル。IIS のようにリライトや ARR をインストールしなくても使えます。また自己証明書も自動生成してくれるので、HTTPS 通信環境構築に手間がかかりません。
# ホストヘッダ
site.name {
# 内部証明書を使う
tls internal
# ルートディレクトリを設定
root * C:\\root\\dir
# 静的ファイルを優先的に提供
try_files {path} {path}/ /index.html
# 静的ファイルを提供
file_server
# 動的コンテンツのリバースプロキシ設定
@dynamic not file
reverse_proxy @dynamic localhost:port {
header_up Host {host}
header_up X-Real-IP {remote_host}
}
}
難点といえばサービスになっていないことですが、サービス化するツールが出てはいますし、直接実行しても充分使えるものです。今は直接起動して使っています。