28 ポイント 投稿者 GN⁺ 2025-02-17 | 12件のコメント | WhatsAppで共有

Caddyの主な機能

  • セキュリティと拡張性: Caddyはすべてのサイトに対して、デフォルトでTLS証明書を自動的に取得・更新する。これにより、サイトをより安全で信頼できるものにする。
  • オンデマンドTLS: 顧客所有のドメインに対してTLS証明書を動的に管理できるため、SaaSビジネスを容易に拡張できる。
  • 大規模なTLS管理: Caddyは数十万のサイトと数千のインスタンスを安定して管理できるよう設計されている。

Caddyの利点

  • 無料ソフトウェア: Caddyは無料で提供されており、支援によって継続的な開発が可能になっている。
  • 高度なHTTPSサーバー: CaddyはTLSとPKIを標準で備えており、内部PKIの管理も可能。
  • 構成API: JSONドキュメントをRESTful APIとして公開・操作できる。
  • コンプライアンス: PCI、HIPAA、NISTの規格にデフォルトで準拠している。

Caddyの高度な機能

  • クラスタ調整: 複数のCaddyインスタンスを同じストレージで構成し、証明書管理を自動的に調整できる。
  • 動的バックエンド: リクエスト時にバックエンドを動的に検出でき、変化の速い環境に適している。
  • 高可用性: 高度なヘルスチェック、構成変更、サーキットブレーカー、負荷制限などの機能を提供する。

Caddyの構成と拡張性

  • 柔軟な構成: JSONを基本の構成形式として使用し、さまざまな形式の構成アダプターをサポートする。
  • 無限の拡張性: Caddyはモジュール型アーキテクチャで設計されており、必要な機能だけをコンパイルして利用できる。
  • 高性能: ネイティブCPU性能を発揮し、プラグインは静的バイナリにコンパイルされる。

Caddyのユースケース

  • PHPアプリケーションサーバー: FrankenPHPを通じてPHPページを高速に提供でき、別途PHPをインストールする必要がない。
  • 静的ファイルサーバー: Caddyは強力なファイルサーバー機能を提供し、さまざまなミドルウェア機能と組み合わせられる。
  • 自動証明書管理: Caddyは証明書を自動で管理し、サイトを常にオンライン状態に保つ。

ユーザーと専門家の推薦

  • Caddyは使いやすく、セキュリティに優れ、強力な機能セットを備えているため、多くのユーザーや専門家から推奨されている。
  • さまざまなユーザーが、Caddyのシンプルな構成と自動化された機能に満足している。

12件のコメント

 
ssssut 2025-02-19

mholtさんの個人プロジェクト時代、プロジェクト初期から使っていて、初期にはPRも投げていましたが、ここまで大きくなったのを見ると私も誇らしいですね。新しくセットアップするサーバーのうち、k8s環境でないところはすべてCaddyだけを使っています。throughputが高くないという話はずっと前からありましたが、本当にCaddyのthroughputが問題になるレベルのトラフィックが出るサービスを運用しているのがとても羨ましいですね。

 
honglu 2025-02-19

すごいです。

 
hands8142 2025-02-18

皆さんはTraefikをどう思いますか?? TraefikとCaddyのどちらかで悩んでいます。

 
porteleaf 2025-02-18

https://www.youtube.com/watch?v=N5PAU-vYrN8&t=663s
確かに小規模プロジェクトで使いやすいです。HTTPS を付けるとき、nginx では certbot を組み合わせていましたが、こちらは標準対応でした。
欠点は、性能は nginx > caddy です。

 
yangeok 2025-02-25

PCの性能がしょぼいなら、nginxを使うべきですかね、、

 
bbulbum 2025-02-18

数年前から使っていますが、HTTPSの自動サポートがデフォルト設定なので、不要な場合はそれを回避するための設定をしなければならないのが、最初は少し違和感がありました。
Webサーバーがここまでシンプルでいいのかと思うほど簡単なので、愛用しています。

 
secret3056 2025-02-18

Caddy は圧倒的に強力で手軽ではあるのですが、スループットはそれほど良いほうではない気がします。
そして、長所にも短所にもなり得る点ですが、必要なプラグインがあれば、それを含めてビルドする必要があります。

 
tribela 2025-02-18

当然あるものだと思っていたキャッシュ機能がプラグイン扱いで、しかもそれをビルドして使わなければならないんですよね……。その欠点を除けば、問題なく使っています。

 
aer0700 2025-02-17

究極のサーバー…欲しくなりますね(笑)

 
GN⁺ 2025-02-17
Hacker Newsのコメント
  • Caddyは、開発中にHTTP2でAPIをローカルテストするときに非常に便利

    • ほとんどの開発サーバーはHTTP1しかサポートしておらず、localhostでは同時接続が最大6本に制限される
    • HTTP2はSSLが必要なため、ローカルでのテストや設定が面倒
    • Caddyのリバースプロキシを使えば、OSの信頼ストアにルート証明書をインストールしてHTTP2をすぐに使える
    • ElectricSQLはこれをユーザーに推奨しており、HTTP2では同時接続6本の制限に縛られない
    • Viteの前段にCaddyを置くと、リロードがかなり速くなる
    • Viteはブラウザで個別ファイルを読み込むJSモジュールシステムを使っており、HMRをサポートしている
    • HTTP2経由でCaddyをViteの前に置けば、こうした問題をすべて解決できる
  • nginxからcaddy-docker-proxyに切り替え、その後Pangolinに移行したが、とても満足している

    • Pangolinはtraefikのフロントエンドで、組み込み認証とWireguardによるトラフィックトンネリング機能を提供する
    • Minecraftサーバー向けにTCPフォワーディングが必要だったが、これで非常に簡単に解決できた
    • Nginx Proxy Managerのより良い版を求めている人におすすめ
    • ドキュメントはまだ不足しているが、メンテナーはDiscordでとても親切に助けてくれる
  • Caddyについて悪く言うつもりはないが、Nginxより証明書設定が簡単なことだけが利点のように聞こえる

    • 数年前にKubernetesクラスターで証明書を自動生成・更新するよう設定した
    • すべてIngress経由で処理され、Nginxロードバランサーを新しいドメインに向ければ自動で対応される
    • ローカルHTTPSが頻繁に必要なわけではないが、必要なときは外部アクセスも必要になる
    • Nginxを動かしているサーバーを使ってlocalhostへプロキシしている
    • この方法は自分にはうまく合っているので、変える理由がなく今後も使い続けるつもり
  • Caddyはとても気に入っていて、何年も使っている

    • 非常に信頼性が高く、基本を覚えれば設定もとても簡単
    • ドキュメントは少し難しいが、NGINXの上でletsencryptを確実に動かそうとするより、はるかに多くの時間と労力を節約できる
  • フレンドリーなライセンス(Apache v2)も重要で、特にCaddyのモジュラーアーキテクチャに関係している

    • Caddyを取り巻くエコシステムがよりシンプルで安全になる
    • たとえば、インターネットクライアントを提供しつつ、サーバーは非公開のままにできる
    • TailscaleやOpenZitiのようなVPNがこれに当たる
  • 自動HTTPSは、すべてのサイトに対してTLS証明書を発行・更新する

    • HTTPをHTTPSへ自動的にリダイレクトする
    • ドメインのIPをCaddyに向けたとき、最初のHTTPSアクセス時に証明書がその場で生成されるのか気になる
    • apexドメインをwwwへリダイレクトする必要があるため重要
    • 無料サービスでも解決できるが、Caddyを使えばもっと簡単かもしれない
  • ウェブサイトを最初から最後まで読んだが、プロジェクトの信頼性にはあまり確信が持てない

    • 自画自賛が多すぎて、不快な印象が残った
    • 著者たちが既知の欠点について率直であるとは思えない
    • 過去にどのように公開してきたのか知っている人がいるのか気になる
  • CaddyとCaddy-Docker-Proxyを組み合わせると、複数のDockerプロジェクトがあるサーバーを構成する優れた方法になる

    • 数台のサーバーで動かしているが、うまく機能している
  • Caddyが大好き

    • 2年前にNGINX/OpenRestyから移行し、設定がずっと簡単になった
    • lua-resty-auto-sslを使っていたが、今はもう使っていない
    • 月間70,000人の訪問者を問題なくさばいている
  • Traefikは素晴らしい代替手段

    • 数年間にわたってv1とv2を使っており、Dockerラベルを使ってサービスを構成している
 
xcutz 2025-02-18

うわ、やばい