【キャディ】

Caddy とは?

💡 HTTPS?任せとけ!全自動でやっておくよ
📌 このページのポイント
Caddy vs nginx:設定の違いと自動HTTPS nginx の設定例 server { listen 443 ssl; server_name example.com; ssl_certificate /path/...; ssl_certificate_key /...; # + certbot設定... Caddy の設定例 example.com { root * /var/www file_server たった3行でOK! 自動HTTPS取得フロー 1. ドメイン名を記述 Caddyfileに書くだけ 2. ACME通信 Let's Encrypt に自動接続 3. 証明書を自動取得 設定・配置も自動 4. HTTPS で配信開始 自動更新もお任せ
Caddy vs nginx の設定比較と自動HTTPS取得フロー
ひよこ ひよこ

Caddyってどんなソフトなの?

ペンギン先生 ペンギン先生

WebサーバーやリバースプロキシとしてHTTPSをサクッと自動でやってくれる、Goで書かれたWebサーバーだよ。指定した設定に対応するSSL証明書を自動で取得して配置してくれるんだ。

ひよこ ひよこ

nginxやApacheとは何が違うの?

ペンギン先生 ペンギン先生

一番大きな違いはHTTPSの自動化だね。nginxだと証明書の取得やcertbotの設定を自分でやる必要があるけど、Caddyはドメイン名を書くだけで勝手にLet's Encryptから証明書を取ってきてくれるんだよ。

ひよこ ひよこ

設定ファイルも簡単なの?

ペンギン先生 ペンギン先生

めちゃくちゃ簡単だよ。たとえば「example.com」というサイトを公開するなら、Caddyfileに2〜3行書くだけ。nginxだと数十行になる設定が、Caddyなら数行で済むんだ。

ひよこ ひよこ

そんなに簡単なら、みんなCaddyを使えばいいんじゃないの?

ペンギン先生 ペンギン先生

小〜中規模のサービスにはすごく向いているよ。ただ、大規模なトラフィックを扱う場面ではnginxの方がチューニングの自由度が高くて実績もあるから、用途によって使い分けるのがベストだね。

ひよこ ひよこ

Caddyって内部的にはどういう仕組みなのかな?

ペンギン先生 ペンギン先生

実はCaddyはACMEプロトコルという証明書自動発行の標準規格を実装していて、Let's Encrypt以外の認証局にも対応できるんだ。さらにGoのgoroutineを活かして高い並行性能を持っているし、プラグインで機能拡張もしやすい設計になっているよ。

ひよこ ひよこ

Caddy v1とv2で大きく変わったって聞いたけど、本当なの?

ペンギン先生 ペンギン先生

そうだね。v2ではアーキテクチャが完全に刷新されて、JSON APIでの動的設定変更やモジュールシステムが導入されたんだ。設定を再読み込みなしでリアルタイムに変えられるのは、運用面で大きなメリットだよ。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Caddy」って出てきたら「HTTPS自動対応のかんたんWebサーバー」と思えればだいたいOK!
📖 おまけ:英語の意味
「Caddy」 = ゴルフのキャディー(お世話係)
💬 ゴルフのキャディーのように「面倒なことを代わりにやってくれる」存在というニュアンスで名付けられたと言われているよ。HTTPS設定の面倒を全部引き受けてくれるんだ。
← 用語集にもどる