サイトを
HTTPSで
デフォルトで、CaddyはすべてのサイトのTLS証明書を自動的に取得し、更新します。
カスタムドメインのHTTPS/TLS
ほぼすべてのホワイトレーベルSaaSの秘訣は、Caddy独自のオンデマンドTLS機能です。 SaaSビジネスを容易に飛躍的に成長させましょう!
証明書を動的にプロビジョニング
オンデマンドTLSを使用すると、CaddyのみがTLSハンドシェイク中にオンザフライで証明書を取得、更新、および保守します。 顧客所有のドメインに最適です。
TLSを大規模にスケーリング
他のWebサーバーとスクリプト化された証明書ツールは、数十万のサイトまたは数千のインスタンスで機能しなくなります。 Caddyはこの規模で証明書を確実に管理するように設計されています。
あなたのようなユーザーによるスポンサー
Caddyはフリーソフトウェアであり、存続のためにスポンサーシップに依存しています。 寄付だけではありません。スポンサーシップは継続的な開発を保証し、ビジネスに具体的な利益をもたらします。
スポンサーシップを見る世界で最も先進的なHTTPSサーバー
TLSとPKIに必要なすべて 🔐
Caddyは、デフォルトでTLSを使用してすべてのサイトを安全に提供します。 また、サーバーとクライアントのフリート全体で内部PKIを管理することもできます。
オンライン設定API ⚡️
Caddyのネイティブ構成は、RESTful設定APIでエクスポートおよび操作できるJSONドキュメントです。
PCI、HIPAA、NISTに準拠 ✅
CaddyのTLSのデフォルトは安全であり、PCI、HIPAA、およびNISTのコンプライアンス要件を満たしています。 はい、デフォルトです。面倒な作業は必要ありません。
ローカルホストのHTTPS 🏠
CaddyはすべてのサイトをHTTPSで提供すると述べています。 ローカルホストと内部IPでさえ、ほとんどのローカル信頼ストアに自動的にインストールされる、完全に自動化された自己管理CAの中間体を介してTLSを使用して提供されます。
クラスター調整 🌐
複数のCaddyインスタンスを同じストレージで構成するだけで、フリートとして証明書の管理を自動的に調整し、キーやOCSPステープルなどのリソースを共有します!
可動部品の削減 ⚙️
インフラストラクチャを簡素化しましょう! Caddyはコストを節約し、開発者の生産性を向上させ、本番環境での問題を削減します。
体験する
ホストされたデモでCaddyの自動HTTPS機能をご覧ください。
caddydemo
という名前のサブドメインのDNSレコードを次のいずれかにポイントします
CNAME demo.caddyserver.com
または
A 138.68.4.62
AAAA 2604:a880:2:d0::9dd:9001
次に、ブラウザでアクセスします。
Caddyがドメインの証明書を自動的にプロビジョニングする方法に気付くでしょう。
機能しない場合:登録済みドメインの直接のサブドメインを使用し、「サブサブドメイン」は使用しないでください。 上記の正しい値でパブリックDNSレコードを作成したことを確認してください。 伝播に時間がかかる場合があります。 詳細については、DNSプロバイダーのドキュメントまたはサポートにご相談ください。 ブラウザ/クライアントはTLS ServerName indicationを設定する必要があります(ほとんどの場合設定されています)。
機能する可能性のあるサブドメインの例: caddydemo.example.net
、caddydemo.example.com.au
Caddyは、任意のドメインとIPのTLSを提供できます。 このデモは意図的に制限されています。
Caddyで独自のPKIをデプロイする
Caddyは、証明書の自動化における業界リーダーであるだけでなく、独自の完全に自動化された内部PKIおよびプライベートCA向けのフル機能のPKIスイートも備えています。
オープンソースのSmallstepライブラリを搭載したCaddyは、自己管理証明機関になります。
localhost {
respond "Hello from HTTPS!"
}
192.168.1.10 {
respond "Also HTTPS!"
}
http://localhost {
respond "Plain HTTP"
}
独自のCAを作成して使用する
Caddyでは、必要な数のCAを定義できます。 ルートキーと中間キーは自動的に生成され、中間キーは期限切れになる前に更新されます。
ACMEサーバーとして機能するインスタンスをデプロイします。 その後、他のCaddyインスタンスは証明書にそれを使用できます。
{
pki {
ca corporate {
name "Our Corporation Authority"
}
}
}
internal.example.com {
# ACME endpoint: /acme/corporate/directory
acme_server {
ca corporate
}
}
{
"apps": {
"tls": {
"certificates": {
"automate": [
"example.com",
"sub.example.com",
"example.net"
]
}
}
}
}
証明書の更新を維持する
Caddyは単なるWebサーバーではありません。 たとえば、この設定は、一連のドメイン名の証明書を取得して更新するために必要なすべてです。
証明書の保守イベントを接続するための追加の設定を記述できます。これは、外部スクリプトおよびツールとの統合に使用できます。
専門家による推奨
学術および業界の専門家はCaddyを推奨しています。Caddyは、セキュリティのデフォルト、ベストプラクティス、そして独自の先進的な機能セットで査読付きジャーナルに掲載されています。

「Caddyを実行しているサーバーは、ほぼ遍在するHTTPSデプロイメントを示し、最新のTLS構成を使用しています。...他の一般的なサーバーソフトウェアがCaddyの先導に従うことを願っています。」
—Josh Aas、Richard Barnes、Benton Case、Zakir Durumeric、Peter Eckersley、Alan Flores-López、J。Alex Halderman、Jacob Hoffman-Andrews、James Kasten、Eric Rescorla、Seth Schoen、Brad Warren。 2019年。Let's Encrypt:Web全体を暗号化するための自動証明機関。コンピューターと通信のセキュリティに関する2019 ACM SIGSAC会議(CCS '19)の議事録。Association for Computing Machinery、ニューヨーク州ニューヨーク、米国、2473–2487。 https://doi.org/10.1145/3319535.3363192

「TLSはデフォルトで有効にする必要があります... Caddy Webサーバーは、適切で使いやすい例です。」
—カタリーナ・クロンボルツ、ウィルフリード・マイヤー、マーティン・シュミーデッカー、エドガー・ヴァイプル。 2017年。 「自分が何をしているのかわからない」 - HTTPSデプロイのユーザビリティについて。 第26回USENIXセキュリティシンポジウム(USENIX Security 17)、USENIX Association、バンクーバー、BC、1339-1356。取得元: https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/krombholz

「Caddyを除いて、一般的なサーバーソフトウェアは[セッションチケットキーのローテーション]を行っていません。」
—ドリュー・スプリンゴール、ザキル・デュルメリック、J・アレックス・ハルダマン。 2016年。 TLS暗号ショートカットのセキュリティ上の害の測定。 2016年インターネット測定会議(IMC '16)議事録、Association for Computing Machinery、サンタモニカ、カリフォルニア、アメリカ合衆国、33-47。 https://doi.org/10.1145/2987443.2987480
先進的なリバースプロキシ
Caddyのプロキシは、可能な限り将来を見据えて設計されており、ロードバランシング、アクティブおよびパッシブヘルスチェック、動的アップストリーム、リトライ、プラガブルトランスポート、そしてもちろん、クラス最高のTLSセキュリティなど、主要な機能が搭載されています。
HTTP、FastCGI、WebSocketなどをプロキシ
HTTPとHTTPSだけでなく、WebSocket、gRPC、FastCGI(通常はPHP)などもプロキシできます! 基礎となるトランスポートモジュールは、HTTPレスポンスを生成するあらゆるカスタム方法に合わせて拡張可能です。
動的バックエンド
Caddyに静的なバックエンドリストを提供するか、モジュールを有効にしてリクエストごとにバックエンドを動的に取得します。これは、急速に変化する環境に最適です。 Caddyはあなたのインフラストラクチャに合わせて柔軟に対応します!
高可用性
Caddyには、高度なヘルスチェック、グレースフル(ヒットレス)な設定変更、サーキットブレーキング、ロード制限、オンラインリトライなど、高可用性(HA)機能が満載されています。 最大のメリットは? すべて無料です。 エンタープライズレベルの有料サービスはありません。
example.com
# Serve PHP sites
handle /blog/* {
root * /var/www/wordpress
php_fastcgi localhost:9000
file_server
}
# Proxy an autoscaling API with dynamic backends
reverse_proxy /api/* {
dynamic srv _api._tcp.example.com
}
# Proxy a compute-heavy distributed service
# with load balancing and health checks
reverse_proxy /service/* {
to 10.0.1.1:80 10.0.1.2:80 10.0.1.3:80
lb_policy least_conn
lb_try_duration 10s
fail_duration 5s
}
# Proxy everything else to an HTTPS upstream
reverse_proxy https://service.example.com {
header_up Host {upstream_hostport}
}
ソフトウェア保証
スポンサーシップがなければ、Caddyの開発はいつでも停止する可能性があります。 スポンサーシップにより、プロジェクトが継続的に開発されるという安心感に加えて、プライベートサポートやトレーニングなどの具体的なメリットが得られます。
スポンサーシップを見る本番環境に対応した静的ファイルサーバー
静的ファイルを提供することは、多数のクライアントにサイトを効率的に配信するための実績のある方法です。 Caddyには堅牢なファイルサーバーがあり、他のミドルウェア機能と組み合わせて、究極の簡単なWebサイトを実現できます。
圧縮
Caddyは、オンザフライでファイルを圧縮したり、事前に圧縮されたファイルを提供してパフォーマンスを向上させることができます。 Caddyはまた、Zstandardエンコーディングをサポートする最初のWebサーバーです。
仮想ファイルシステム
静的サイトをあらゆる場所から提供できます。ローカルファイルシステム、リモートクラウドストレージ、データベース、さらにはサーバーバイナリに埋め込まれたものからでも可能です!
Rangeリクエスト、Etagなど
一時的なローカル開発を目的とした多くのアドホックファイルサーバーとは異なり、CaddyはRangeリクエスト、Etag、および完全な本番機能セットを完全にサポートしています。
ディレクトリファイルブラウザ
インデックスファイルのないディレクトリがリクエストされた場合、Caddyはブレッドクラムナビゲーション、ファイルサイズビジュアライゼーション、ファイルタイプアイコン、グリッドビューを備えた洗練されたファイルブラウザを表示できます。
example.com
root * /var/www
# Serve precompressed files if present
file_server /downloads/* {
precompressed gzip zstd br
}
# Compress everything else that would benefit
encode zstd gzip
# Static site using database as file system
file_server /database/* {
fs sqlite data.sql
}
# Static site embedded within the Caddy binary
file_server /embedded/* {
fs embedded
}
# (Range/Etag/etc. all work without extra config)
# Serve static site with directory listings
file_server browse


あらゆるワークフローに対応する柔軟な構成
サーバーを自分の方法で構成します。 Caddyのネイティブ設定フォーマットはJSONであり、Caddyの設定アダプターを使用すると、好みの設定フォーマットを使用できます。 すべての構成はRESTful管理APIを介して投稿され、CaddyのCLIは構成ファイルを簡単に操作するのに役立ちます。
$ caddy start --config caddy.json $ curl localhost:2019/id/my_handler \ -X PATCH \ -H "Content-Type: application/json" \ -d '{ "handler": "static_response", "body": "Work smarter, not harder." }' $ curl localhost:2019/config/ | jq
JSON設定API
Caddyのネイティブ設定フォーマットはJSONであり、自動化された大規模なデプロイメントに信じられないほどの能力と柔軟性を提供します。
ACID保証を提供する直感的でプログラム可能なREST APIを通じて、動的な設定変更を行います。 また、安全にスコープが設定されているため、URIパスによって変更が制限され、設定の他の部分を誤って変更することができません。
Caddyfile
JSONは究極のコントロールを提供しますが、ほとんどの人はCaddyfileを使用することを好みます。これは、手書きのわずか数行で本番環境に対応したサイトを稼働させることができるためです。 Caddyfileが機能の少ないnginx設定の約15〜25%のサイズであることは珍しくありません。
caddyserver.com
root * src
file_server
templates # markdown & syntax highlighting!
encode zstd gzip
redir /docs/json /docs/json/
rewrite /docs/json/* /docs/json/index.html
rewrite /docs/* /docs/index.html
reverse_proxy /api/* localhost:9002
$ caddy run \ --config nginx.conf \ --adapter nginx
設定アダプター
NGINX設定ファイルなど、あらゆるものでCaddyを強化できます!
設定アダプテーションのファーストクラスサポートにより、お気に入りのフォーマットでWebサーバーを構成できます。YAML、TOML、CUE、NGINX、HCL、Dhall、コメント付きJSON、さらにはMySQLデータベースなど、何でも可能です。 Caddyfileは組み込みの設定アダプターです。
比類のない拡張性
Caddyは、その斬新なモジュールアーキテクチャを備えた世界で唯一のサーバーです。 Caddyの中核は、HTTPサーバー、内部認証局、TLS証明書マネージャー、プロセススーパーバイザーなどのアプリを実行する構成マネージャーです。
そして、その独自の設計により、コードベースを肥大化させることなく、無制限の機能を提供できます。 必要なものだけをコンパイルします。
無限の可能性
「何かをする」設定のほぼすべての部分がプラグイン可能です。 Caddyは、そのような無駄のないパッケージで無限の機能を提供します。
ネイティブCPUパフォーマンス
RPC呼び出しまたは脆弱な依存関係管理はありません。 プラグインは静的バイナリにコンパイルされるため、デプロイメントの成功が確実になり、ランタイムが非常に高速になります。
開発が容易
Caddyプラグインの作成は、Goパッケージの作成と同じくらい簡単です。 Goプログラマーにとって快適でなじみのあるプロセスです。
4倍高速なPHPアプリ
FrankenPHPを使用すると、CaddyはPHPアプリケーションサーバーとして機能し、SwooleまたはRoadRunnerよりも約4倍高速にPHPページを提供します。php-fpm(FastCGI)は不要です。
PHPとphp-fpmを個別にインストールすることなく、PHPアプリケーションを単一の静的バイナリとしてデプロイします。 高性能なPHPアプリには、FrankenPHPを搭載したCaddyがあれば十分です!
ベンチマークは、Octaneを使用したワーカーモードでの合計応答時間を比較しています。 FrankenPHPはサーバーとインプロセスで実行されるため、ほとんどの場合、FPM / mod_phpよりも高速です。 PHPの実行は高速化されません。
{
# Enable FrankenPHP
frankenphp
order php_server before file_server
}
example.com {
# Serve PHP app from current directory
php_server
}
PHPアプリの提供は、このCaddyfileと同じくらい簡単です。 PHPインタープリターはCaddyバイナリ内に完全に埋め込まれており、アプリケーションファイルは現在の作業ディレクトリから提供されます。 php-fpmや個別のPHPインストールは必要ありません!
ゴールドスタンダード Webサーバー
Caddyは、市場で最も堅牢なTLSスタックを備えています。 OpenSSL(ApacheおよびNGINX)よりも強力なメモリ安全性保証と、他のサーバーやユーティリティよりも高度な証明書自動化ロジックを備えたCaddyは、他のサーバーではできない問題が発生した場合でも、サイトをオンライン状態に保ちます。
Caddyは、パブリック証明書管理を完全に自動化した最初のサーバーでした。そのため、誰よりも長くこの作業を行ってきました。 5,000万件を超える証明書を管理しているCaddyは、他のサーバーが目指すべきゴールドスタンダードを設定しています。
OCSPステープリングが危機を救う
CaddyはOCSPレスポンスを自動的にステープルし、キャッシュして停止に備えます。 2018年には、重要なOCSPインフラストラクチャが長期にわたって停止したため、多くの一般的なサイトが主流のブラウザのユーザーにとってダウンしました。 CaddyのみがデフォルトでOCSPレスポンスをステープルおよびキャッシュするため、すべてのCaddyサイトは影響を受けませんでした。
失効に対する警戒
2020年には、大規模な証明書の失効イベントにより、多くのシステム管理者が予定より早く証明書の更新に追われました。 Caddyは失効した証明書を自動的に更新するため、すべてのCaddyサイトは影響を受けませんでした。(これはARIが存在する前です。)
監査中に際立つ
Caddyの安全なデフォルトと「バッテリー付属」のアプローチにより、企業は重要な監査のわずか数時間前にサイトの前にCaddyをデプロイし、コンプライアンスステータスを維持することができました。
みんなの言葉を信じてください
私たちは偏っています。 しかし、Caddyはその使いやすさ、安全なデフォルト、強力な機能セット、ビジネスを変えるコスト削減により、多様なグローバルユーザーベースから広く信頼され、称賛されています。