究極の
サーバー
Caddyは、他のどのソリューションよりも、サイトのセキュリティ信頼性スケーラビリティを向上させます。

--:----:--
Caddyが1分未満でHTTPSを提供する様子をリアルタイムでご覧ください。

リーダーによるスポンサー

すべての
サイトを
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.netcaddydemo.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"
}

内部およびローカルホスト証明書

ローカルまたは内部アドレスでサイトを構成する場合、Caddyは、有効期間が短く自動更新される証明書を備えた、ローカルで信頼されている証明機関を使用してHTTPS経由でそれらを提供します。 また、独自のルートをローカルの信頼ストアにインストールすることもできます。

Smallstep

独自の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はその使いやすさ、安全なデフォルト、強力な機能セット、ビジネスを変えるコスト削減により、多様なグローバルユーザーベースから広く信頼され、称賛されています。