このサイトが動いているWEBサーバをnginxからcaddyに変更した。
理由は2つ、設定ファイルがシンプルで管理が楽そうだということ、Let's Encryptでの証明書取得機能を搭載していること。
Let's Encryptは、無料でSSL証明書を発行してくれる認証局。 無料で発行可能な反面、少し手間がかかりcertbotと呼ばれる認証プログラムをを定期的に動かしてサイトにアクセスし期限延長を行う必要がある。
初めは手動で認証させていたのだが、設定誤りによりロックさせてしまったり期限延長を忘れて失効したりということが続いたので、 https-portal を導入して使用していた。
https-portalはdocker上で動作する、WEBサーバ(nginx)とlet'sEncryptの証明書発行を自動化してくれるスクリプトを搭載しており手間がかからない。 とても便利ではあったのだが、このコンテナは環境変数でドメインを指定する。 規模が大きくなっていくにしたがって、設定が分かりにくくなる。
そこで、今回Webサーバをcaddyに変更してみた。 下記の通り。設定はとてもシンプル
Caddyfile
{
log { # アクセスログの有効化とログローテーションの設定
output file /var/log/caddy/access.log {
roll_size 50mb
roll_keep 5
roll_keep_for 720h
}
}
}
modern-utopia.net { # ブログ
root * /sites/blog
file_server
}