網站都使用
HTTPS
預設情況下,Caddy 會為您的所有網站自動取得和續訂 TLS 憑證。
自訂網域的 HTTPS/TLS
幾乎所有白標 SaaS 的秘訣都在於 Caddy 原創的隨需 TLS 功能。輕鬆擴展您的 SaaS 業務規模!
動態佈建憑證
透過隨需 TLS,只有 Caddy 會在 TLS 交握期間動態地取得、續訂和維護憑證。非常適合客戶擁有的網域。
大規模擴展您的 TLS
其他 Web 伺服器和腳本化的憑證工具在處理數十萬個網站或數千個實例時會崩潰。Caddy 旨在在這個規模下可靠地管理憑證。

世界上最先進的 HTTPS 伺服器
您所需的 TLS 和 PKI 🔐
預設情況下,Caddy 使用 TLS 安全地服務所有網站。它還可以為您管理整個伺服器和用戶端群組的內部 PKI。
線上設定 API ⚡️
Caddy 的原生配置是一個 JSON 文件,您可以匯出並使用 RESTful 設定 API 進行操作。
符合 PCI、HIPAA 和 NIST 標準 ✅
Caddy 的 TLS 預設設定是安全的,並且通過 PCI、HIPAA 和 NIST 合規性要求。是的,預設設定:無需麻煩。
localhost 的 HTTPS 🏠
當我們說 Caddy 為每個網站提供 HTTPS 時,我們是認真的。即使是 localhost 和內部 IP 也透過 TLS 提供服務,使用完全自動化、自我管理的 CA 的中繼,該中繼會自動安裝到大多數本機信任儲存區中。
叢集協調 🌐
只需使用相同的儲存設定多個 Caddy 實例,它們將自動協調憑證管理作為群組,並共享金鑰和 OCSP Stapling 等資源!
更少的活動部件 ⚙️
簡化您的基礎架構!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 套件,適用於您自己的完全自動化內部 PKI 和私有 CA。
Caddy 由開放原始碼 Smallstep 程式庫 提供技術支援,成為一個自我管理的憑證授權單位。
localhost {
respond "Hello from HTTPS!"
}
192.168.1.10 {
respond "Also HTTPS!"
}
https://127.0.0.1 {
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 的伺服器幾乎普遍部署 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)。美國紐約州紐約:計算機協會,2473–2487。https://doi.org/10.1145/3319535.3363192

「TLS 必須預設啟用... 而 Caddy Web 伺服器是一個良好且可用的範例。」
—Katharina Krombholz、Wilfried Mayer、Martin Schmiedecker 和 Edgar Weippl。 2017 年。「我不知道自己在做什麼」- 關於部署 HTTPS 的可用性。 收錄於第 26 屆 USENIX 安全研討會 (USENIX Security 17),USENIX 協會,加拿大卑詩省溫哥華,1339-1356。取自 https://www.usenix.org/conference/usenixsecurity17/technical-sessions/presentation/krombholz

「除了 Caddy 之外,沒有流行的伺服器軟體執行 [session ticket key rotation]。」
—Drew Springall、Zakir Durumeric 和 J. Alex Halderman。 2016 年。衡量 TLS 加密捷徑的安全危害。 收錄於 2016 年網際網路測量會議論文集 (IMC '16),美國加利福尼亞州聖塔莫尼卡:計算機協會,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 可以即時壓縮檔案或提供預先壓縮的檔案,以獲得額外的效能。Caddy 也是第一個支援 Zstandard 編碼的 Web 伺服器。
虛擬檔案系統
從任何位置提供您的靜態網站:本機檔案系統、遠端雲端儲存、資料庫,甚至嵌入在伺服器二進位檔案中!
範圍請求、Etags 等
與許多旨在用於臨時本機開發的臨時檔案伺服器不同,Caddy 完全支援範圍請求、Etags 和完整生產功能集。
目錄檔案瀏覽器
如果請求沒有索引檔案的目錄,Caddy 可以顯示一個優雅的檔案瀏覽器,其中包含麵包屑導航、檔案大小視覺化、檔案類型圖示和網格檢視。
example.com
root * /var/www
# Serve precompressed files if present
file_server /downloads/* {
precompressed
}
# 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,為您提供自動化、大規模部署的驚人功能和彈性。
透過 直觀、可程式設計的 REST API 進行動態配置變更,該 API 提供 ACID 保證。它也是安全範圍,這表示 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
配置適配器
使用任何配置為 Caddy 提供動力,甚至是 NGINX 配置文件!
透過對配置適配的一流支援,您可以使用您最喜歡的格式配置您的 Web 伺服器:YAML、TOML、CUE、NGINX、HCL、Dhall、帶註解的 JSON,甚至 MySQL 資料庫... 或任何其他格式。Caddyfile 是一個內建的配置適配器。
無與倫比的可擴展性
Caddy 是世界上唯一具有其新型模組化架構的伺服器。Caddy 的核心是一個配置管理器,它執行應用程式,例如 HTTP 伺服器、內部憑證授權單位、TLS 憑證管理器、程序監管器等。
由於其獨特的設計,我們可以提供無限的功能,而不會使程式碼庫膨脹。僅編譯您需要的內容。
無限的力量
幾乎所有「執行某些操作」的配置部分都是可插拔的。Caddy 在如此精簡的套件中提供無限的功能。
原生 CPU 效能
沒有 RPC 呼叫或脆弱的依賴項管理。外掛程式已編譯到靜態二進位檔案中,使成功部署變得確定,並且執行時間極快。
易於開發
編寫 Caddy 外掛程式就像編寫 Go 套件一樣容易。對於任何 Go 程式設計師來說,這都是一個舒適且熟悉的過程。
PHP 應用程式速度提高 4 倍
透過 FrankenPHP,Caddy 充當 PHP 應用程式伺服器,其交付 PHP 頁面的速度比 Swoole 或 RoadRunner 快約 4 倍:無需 php-fpm (FastCGI)。
將您的 PHP 應用程式部署為單個靜態二進位檔案,而無需單獨安裝 PHP 和 php-fpm。Caddy 與 FrankenPHP 是高效能 PHP 應用程式所需的全部!
基準測試比較了使用 Octane 的 worker 模式的總回應時間。FrankenPHP 在伺服器中處理程序執行,因此在大多數情況下,它通常比 FPM/mod_php 更快。PHP 執行速度不會加快。
{
# Enable FrankenPHP
frankenphp
}
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 可讓您的網站保持在線狀態。
Caddy 是第一個完全自動化公用憑證管理的伺服器,因此我們在這方面的工作時間比任何人都長。Caddy 管理超過 5000 萬張憑證,為其他伺服器樹立了黃金標準。
OCSP Stapling 拯救了局面
Caddy 會自動 Stapling OCSP 回應並快取它們以應對中斷。在 2018 年,由於關鍵 OCSP 基礎架構發生長時間中斷,許多流行的網站對主流瀏覽器的使用者而言都停機了。只有 Caddy 預設 Stapling 和快取 OCSP 回應,因此所有 Caddy 網站都沒有受到影響。
防範撤銷
在 2020 年,大規模憑證撤銷事件讓許多系統管理員爭先恐後地提前續訂憑證。Caddy 會自動續訂被撤銷的憑證,所有 Caddy 網站都沒有受到影響。(這是在 ARI 存在之前。)
在稽核期間屹立不搖
由於 Caddy 的安全預設和「全包式」方法,公司已在重要稽核前幾個小時在其網站前面部署 Caddy,這可能會挽救他們的合規性狀態。
聽取大家的意見
我們有偏見。但是 Caddy 因其易用性、安全預設、強大的功能集和改變業務的成本降低而受到全球不同用戶群的廣泛依賴和讚譽。