caddy 官方下载
它是什么Caddy 是用 Go 编写的多平台 Web 服务器,默认自动 HTTPS、支持 HTTP/1.1 到 HTTP/3,可从 GitHub Releases 获取二进制或使用官方维护的系统软件包与 Docker 方式,配置量通常只有一两行
Caddy 是用 Go 编写的多平台 Web 服务器,默认自动 HTTPS、支持 HTTP/1.1 到 HTTP/3,可从 GitHub Releases 获取二进制或使用官方维护的系统软件包与 Docker 方式,配置量通常只有一两行。
详细介绍
简介
Caddy 是用 Go 编写的快速、可扩展的多平台 Web 服务器,自 2014 年发布以来持续在 GitHub 上开源维护。它要解决的核心问题是 HTTPS 证书的申请、续期流程和冗长配置:站点绑定域名后即可自动获得证书并自动续期,配置量通常只有一两行。适合个人开发者、博客作者、小型站点运维者,以及需要 HTTP/2、HTTP/3 与反向代理能力的生产环境。核心优势是默认自动 HTTPS、跨平台二进制分发、支持通过 API 动态更新配置,官方仓库地址为 https://github.com/caddyserver/caddy ,具体版本与下载入口以官方页面为准。
核心功能
- 默认自动 HTTPS:站点启用域名后自动申请证书并自动续期,无需手工提交申请或反复改写配置,这是多篇中文资料反复提到的最大特点。
- 协议覆盖 HTTP/1.1、HTTP/2、HTTP/3,配置完成后即可对外提供基于 HTTP/3 的访问,无需自行拼装协议组件。
- 跨平台二进制分发:GitHub Releases 提供各平台可执行文件,下载后放入系统 PATH 即可运行,官方说明这是最简跨平台起步方式。
- 用 Go 编写,定位为快速、可扩展的多平台 Web 服务器;pkg.go.dev 的说明是它最常被用作 HTTPS 服务器,同时也适合作为任何长期运行的 Go 程序的运行平台。
- 配置可通过 API 动态更新,不必像 Nginx 那样执行 nginx -s reload 才能让改动生效,新增站点时改动更少。
- 官方维护多种分发方式:静态二进制文件、Debian/Ubuntu/Raspbian 软件包、Fedora/RedHat/CentOS 软件包、Arch Linux/Manjaro 软件包,另有 Docker 运行方式。
- 配置文件常见为 Caddyfile,通常放在 /etc/caddy 目录;也有资料提到配置可用 JSON 或 YAML 形式组织,具体以官方文档为准。
使用场景
- 个人博客与静态站点:有实践把 Caddy 2 与 Hugo、Remark42 组合部署在云服务器上,由 Cloudflare 托管 DNS 记录,参考 https://catcat.cc/post/h9bti/ 。
- 需要 HTTPS 的生产站点:一两行命令即可启动一个可用于生产环境的站点,省去证书申请、部署与续期的手工步骤。
- 反向代理:与 Nginx、Traefik 属于同一类选型,差异主要体现在 TLS 证书的获取方式,以及每新增一个应用需要补写多少配置。
- 容器化与微服务:对 Docker 友好,适合个人开发者与容器化环境用来降低证书与反向代理的运维成本。
- 从 Nginx 迁移评估:希望用更少配置完成证书与代理规则的团队,可以把 Caddy 作为替代方案做对比测试。
- 本地开发联调:Windows 11 环境下下载对应可执行文件即可在本机跑起站点,再配合端口映射或内网穿透对外提供访问。
安装与获取步骤
- 打开 https://github.com/caddyserver/caddy 进入 GitHub Releases,按操作系统与 CPU 架构选择对应可执行文件,下载后放入系统 PATH 目录,即可在终端直接调用。
- 使用 Linux 发行版软件包:Debian、Ubuntu、Raspbian、Fedora、RedHat、CentOS、Arch Linux、Manjaro 均有官方维护的软件包,按对应包管理器流程操作,包名与源地址以官方页面为准。
- 使用 Docker 方式运行,适合已有容器编排的环境;镜像标签、端口映射与挂载参数以官方页面给出的写法为准。
- 编写配置:新建 Caddyfile 放入 /etc/caddy 目录,声明站点域名与后端反向代理地址;需要程序化控制时改用 JSON 形式配置。
- 启动 Caddy 进程并确认监听端口,访问配置的域名验证 HTTPS 证书是否自动签发成功,再按需调整反向代理规则与静态文件目录。
与 Nginx、Traefik 的差异
- 配置生效方式:Nginx 修改配置后需要执行 nginx -s reload;Caddy 支持通过 API 动态更新配置,新增站点或改规则时生效更直接。
- 性能表现:第三方对比给出的结论是 Caddy 性能接近 Nginx、极端场景稍逊,而 Nginx 高并发优化更充分、内存占用低,选型前建议按自己的负载压测。
- 与 Traefik 的差异集中在 TLS 证书的获取方式,以及每增加一个应用需要补写多少配置工作。
- 与新兴项目的关系:Rust 编写的 Ferron 在介绍中把 Apache httpd、NGINX、Caddy 并列为同类独立 Web 服务器,可作为对照参考。
注意事项
- 下载地址、版本号、包名与镜像标签一律以官方页面 https://github.com/caddyserver/caddy 为准,第三方教程中的具体数字可能已经过期。
- 配置文件的存放路径与格式在不同资料中表述不一致(有说 /etc/caddy 下的 Caddyfile,也有说 JSON 或 YAML),实际以官方文档为准。
- 自动 HTTPS 依赖域名解析可达与证书签发流程,域名未正确解析到该服务时证书不会签发成功。
- Windows 下载的可执行文件需要把所在目录加入 PATH,否则新打开的终端里无法直接执行 caddy 命令。
- 性能与内存占用的对比结论来自第三方评测,极端高并发场景下差距可能变化,上线前应以自己业务的压测数据为准。
更新记录
最近更新:2026-10-10
软件参数速览
下载地址
- baidu网盘:https://pan.baidu.com/s/1gadDeLEHdiwDetwaRRAjkA(提取码:gpjy)
- quark网盘:https://pan.quark.cn/s/39df2995df2e(提取码:2851)
常见问题
Caddy 的可执行文件从哪里下载,放在哪个目录?
从 GitHub Releases 页面 https://github.com/caddyserver/caddy 下载对应操作系统的文件,把可执行文件放入系统 PATH 中的任意目录,之后在任意终端都能直接执行 caddy 命令。
Linux 下除了二进制文件还有哪些获取方式?
官方维护 Debian、Ubuntu、Raspbian 软件包,Fedora、RedHat、CentOS 软件包,以及 Arch Linux、Manjaro 软件包,另有静态二进制文件和 Docker 方式,具体包名以官方页面为准。
改完配置要不要像 Nginx 一样执行 reload?
不需要。第三方对比指出 Nginx 修改配置后要执行 nginx -s reload,而 Caddy 支持通过 API 动态更新配置,新增站点或改规则时改动更少、生效更直接。
Caddy 和 Nginx 的性能差距大吗?
第三方对比的结论是 Caddy 性能接近 Nginx、极端场景稍逊;Nginx 高并发优化更充分、内存占用低。差距与负载形态有关,建议用自己业务的压测数据判断。
配置文件写在哪个目录、用什么格式?
常见做法是把 Caddyfile 放到 /etc/caddy 目录;也有资料提到配置可用 JSON 或 YAML 形式组织。不同来源表述不一致,路径与格式以官方文档为准。
Caddy 支持 HTTP/3 吗?
支持。Caddy 覆盖 HTTP/1.1、HTTP/2、HTTP/3,配合默认自动 HTTPS,配置好域名后即可对外提供基于 HTTP/3 的访问,无需额外拼装协议组件。
它只能当 Web 服务器用吗?
pkg.go.dev 上的说明是:Caddy 最常被用作 HTTPS 服务器,但它同样适合作为任何长期运行的 Go 程序的运行平台,可按需要扩展成常驻服务。
和 Traefik、Ferron 这类同类项目怎么比较?
与 Traefik 的差异主要在 TLS 证书获取方式和每新增一个应用要补的配置量;Ferron 是 Rust 编写的独立 Web 服务器,介绍中把 Apache httpd、NGINX、Caddy 并列为同类参照。