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 方式,配置量通常只有一两行。

👤
作者:谢林峰 | 更新:2026-10-10
软件信息
更新 2026-10-10

详细介绍

简介

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 环境下下载对应可执行文件即可在本机跑起站点,再配合端口映射或内网穿透对外提供访问。

安装与获取步骤

  1. 打开 https://github.com/caddyserver/caddy 进入 GitHub Releases,按操作系统与 CPU 架构选择对应可执行文件,下载后放入系统 PATH 目录,即可在终端直接调用。
  2. 使用 Linux 发行版软件包:Debian、Ubuntu、Raspbian、Fedora、RedHat、CentOS、Arch Linux、Manjaro 均有官方维护的软件包,按对应包管理器流程操作,包名与源地址以官方页面为准。
  3. 使用 Docker 方式运行,适合已有容器编排的环境;镜像标签、端口映射与挂载参数以官方页面给出的写法为准。
  4. 编写配置:新建 Caddyfile 放入 /etc/caddy 目录,声明站点域名与后端反向代理地址;需要程序化控制时改用 JSON 形式配置。
  5. 启动 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

软件参数速览

本站更新时间2026-10-10

下载地址

常见问题

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 并列为同类参照。

相关推荐