caddy

caddy

现代化高性能Web服务器 自动启用HTTPS

Caddy是一款现代化的Web服务器平台,默认启用TLS加密。它支持Caddyfile、JSON和API多种配置方式,具备自动HTTPS、多协议支持和高扩展性。Caddy无需外部依赖,已在大规模生产环境中得到验证,可轻松扩展到数十万个站点。作为安全、高效的Web服务器解决方案,Caddy正受到越来越多开发者的青睐。

Caddy网络服务器HTTPSGo语言配置管理Github开源项目
<p align="center"> <a href="https://caddyserver.com"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/1128849/210187358-e2c39003-9a5e-4dd5-a783-6deb6483ee72.svg"> <source media="(prefers-color-scheme: light)" srcset="https://yellow-cdn.veclightyear.com/2b54e442/595b98dc-7b86-45f8-af95-bd684f8de467.svg"> <img src="https://yellow-cdn.veclightyear.com/2b54e442/595b98dc-7b86-45f8-af95-bd684f8de467.svg" alt="Caddy" width="550"> </picture> </a> <br> <h3 align="center">一个 <a href="https://zerossl.com"><img src="https://yellow-cdn.veclightyear.com/2b54e442/a2479748-bec0-420c-92da-052264f67d2e.svg" height="28" style="vertical-align: -7.7px" valign="middle"></a> 项目</h3> </p> <hr> <h3 align="center">所有网站都使用HTTPS</h3> <p align="center">Caddy是一个可扩展的服务器平台,默认使用TLS。</p> <p align="center"> <a href="https://github.com/caddyserver/caddy/actions/workflows/ci.yml"><img src="https://yellow-cdn.veclightyear.com/2b54e442/de9de196-be9d-4192-8d1b-f4ef76a5ffe3.svg"></a> <a href="https://pkg.go.dev/github.com/caddyserver/caddy/v2"><img src="https://yellow-cdn.veclightyear.com/2b54e442/51451589-fd64-4234-a507-8901945e2aaf.svg"></a> <br> <a href="https://twitter.com/caddyserver" title="Twitter上的@caddyserver"><img src="https://yellow-cdn.veclightyear.com/2b54e442/cb1fb487-31ac-4a4a-ae69-bbedba43c261.svg" alt="Twitter上的@caddyserver"></a> <a href="https://caddy.community" title="Caddy论坛"><img src="https://yellow-cdn.veclightyear.com/2b54e442/5f3c418a-a4e7-4f6c-8b86-b8b88eec8a41.svg" alt="Caddy论坛"></a> <br> <a href="https://sourcegraph.com/github.com/caddyserver/caddy?badge" title="Sourcegraph上的Caddy"><img src="https://yellow-cdn.veclightyear.com/2b54e442/7b2b2da9-cc48-4de9-8a66-3a436bee5e3b.svg" alt="Sourcegraph上的Caddy"></a> <a href="https://cloudsmith.io/~caddy/repos/"><img src="https://img.shields.io/badge/OSS%20hosting%20by-cloudsmith-blue?logo=cloudsmith" alt="Cloudsmith"></a> </p> <p align="center"> <a href="https://github.com/caddyserver/caddy/releases">发布</a> · <a href="https://caddyserver.com/docs/">文档</a> · <a href="https://caddy.community">获取帮助</a> </p>

菜单

<p align="center"> <b>由以下技术支持</b> <br> <a href="https://github.com/caddyserver/certmagic"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://user-images.githubusercontent.com/55066419/206946718-740b6371-3df3-4d72-a822-47e4c48af999.png"> <source media="(prefers-color-scheme: light)" srcset="https://yellow-cdn.veclightyear.com/2b54e442/40f3bf17-5707-4d5b-b8c2-11911e6dc0e1.png"> <img src="https://yellow-cdn.veclightyear.com/2b54e442/40f3bf17-5707-4d5b-b8c2-11911e6dc0e1.png" alt="CertMagic" width="250"> </picture> </a> </p>

特性

  • 使用Caddyfile进行简单配置
  • 使用其原生JSON配置进行强大配置
  • 使用JSON API进行动态配置
  • 如果你不喜欢JSON,可以使用配置适配器
  • 默认自动HTTPS
    • 公共名称使用ZeroSSLLet's Encrypt
    • 内部名称和IP使用完全管理的本地CA
    • 可以与集群中的其他Caddy实例协调
    • 多发行者故障转移
  • 当其他服务器因TLS/OCSP/证书相关问题宕机时保持运行
  • 在处理数万亿请求和管理数百万TLS证书后已经准备好用于生产环境
  • 可扩展到数十万个站点,已在生产环境中得到验证
  • 默认支持HTTP/1.1、HTTP/2和HTTP/3
  • 高度可扩展模块化架构让Caddy可以做任何事情而不臃肿
  • 可在任何地方运行无外部依赖(甚至不需要libc)
  • 使用Go语言编写,比其他服务器具有更高的内存安全保证
  • 实际上使用起来很有趣
  • 还有更多待发现

安装

最简单、跨平台的入门方式是从GitHub Releases下载Caddy,并将可执行文件放在你的PATH中。 有关其他安装说明,请参阅我们的在线文档

从源代码构建

要求:

用于开发

注意: 这些步骤不会嵌入正确的版本信息。为此,请按照下一节的说明进行操作。

$ git clone "https://github.com/caddyserver/caddy.git" $ cd caddy/cmd/caddy/ $ go build

当您运行Caddy时,除非在配置中另有指定,否则它可能会尝试绑定到低端口。如果您的操作系统需要提升权限才能执行此操作,您需要授予新二进制文件执行此操作的权限。在Linux上,可以使用以下命令轻松完成:sudo setcap cap_net_bind_service=+ep ./caddy

如果您更喜欢使用go run(它只创建临时二进制文件),您仍然可以使用包含的setcap.sh来执行此操作,如下所示:

$ go run -exec ./setcap.sh main.go

如果您不想为setcap输入密码,请使用sudo visudo编辑sudoers文件,并允许您的用户帐户无需密码即可运行该命令,例如:

username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap

username替换为您的实际用户名。请小心谨慎,只有在您知道自己在做什么的情况下才这样做!我们只有资格说明如何使用Caddy,而不是Go工具或您的计算机,我们提供这些说明仅为方便起见;请自行了解如何使用您自己的计算机,风险自负,并进行任何必要的调整。

带有版本信息和/或插件

使用我们的构建工具xcaddy...

$ xcaddy build

...以下步骤将自动完成:

  1. 创建一个新文件夹:mkdir caddy
  2. 进入该文件夹:cd caddy
  3. Caddy的main.go复制到空文件夹中。添加您想要添加的任何自定义插件的导入。
  4. 初始化Go模块:go mod init caddy
  5. (可选)固定Caddy版本:go get github.com/caddyserver/caddy/v2@version,将version替换为git标签、提交或分支名称。
  6. (可选)通过添加导入来添加插件:_ "import/path/here"
  7. 编译:go build

快速开始

Caddy网站有包括教程、快速入门指南、参考资料等在内的文档。

我们建议所有用户——无论经验水平如何——都完成我们的入门指南,以熟悉使用Caddy。

如果您只有一分钟时间,该网站有几个快速入门教程供您选择!但是,完成快速入门教程后,请阅读更多文档以了解软件的工作原理。🙂

概述

Caddy最常用作HTTPS服务器,但它适用于任何长期运行的Go程序。首先,它是运行Go应用程序的平台。Caddy "应用"只是作为Caddy模块实现的Go程序。两个应用——tlshttp——随Caddy标准提供。

Caddy应用程序立即受益于自动文档、通过API进行优雅的在线配置更改,以及与其他Caddy应用程序的统一。

尽管JSON是Caddy的原生配置语言,但Caddy可以接受来自配置适配器的输入,这些适配器本质上可以将您选择的任何配置格式转换为JSON:Caddyfile、JSON 5、YAML、TOML、NGINX配置等。

配置Caddy的主要方式是通过其API,但如果您更喜欢配置文件,命令行界面也支持这些文件。

与任何现有的Web服务器相比,Caddy提供了前所未有的控制级别。在Caddy中,您通常是在设置内存中初始化类型的实际值,这些值驱动从HTTP处理程序和TLS握手到存储介质的所有内容。Caddy还具有极强的可扩展性,拥有一个强大的插件系统,相比其他Web服务器有巨大的改进。

要掌握这种设计的力量,您需要了解配置文档的结构。请查看我们的文档网站以了解有关Caddy配置结构的详细信息。

Caddy的几乎所有配置都包含在一个单一的配置文档中,而不是像其他Web服务器那样分散在CLI标志、环境变量和配置文件中。这使得管理服务器配置更加简单,并减少了隐藏的变量/因素。

完整文档

我们的网站有完整的文档:

https://caddyserver.com/docs/

这些文档也是开源的。您可以在此处为它们做出贡献:https://github.com/caddyserver/website

获取帮助

请仅使用我们的问题追踪器报告错误和功能请求,即可操作的开发项目(支持问题通常会被转到论坛)。

关于

Matthew Holt于2014年在杨百翰大学学习计算机科学时开始开发Caddy。(选择"Caddy"这个名字是因为这个软件帮助处理服务Web的繁琐、平凡任务,同时也是多个事物组织在一起的单一场所。)它很快成为第一个自动且默认使用HTTPS的Web服务器,现在已有数百名贡献者,并已处理了数万亿次HTTPS请求。 "Caddy"是注册商标。 该软件的名称是"Caddy",而不是"Caddy Server"或"CaddyServer"。请称之为"Caddy",或者如果你想澄清,可以称之为"Caddy网络服务器"。Caddy是Stack Holdings GmbH的注册商标。

Caddy是ZeroSSL的一个项目,ZeroSSL是Stack Holdings公司旗下的企业。

Debian软件包存储库托管由Cloudsmith慷慨提供。Cloudsmith是唯一完全托管、云原生、通用的软件包管理解决方案,使您的组织能够以完全的信心创建、存储和分享任何格式的软件包到任何地方。

编辑推荐精选

Pixmax

Pixmax

一站式AI短剧创作平台

Pixmax专注打造下一代“ AI 视觉创作引擎”,整合行业顶尖 AI 大模型、工工业级精准控制及企业级协同管理功能,是全方位的 AI 内容创作平台。

豆包

豆包

字节跳动旗下 AI 智能助手

字节跳动旗下 AI 智能助手

GPT Plus|Pro充值

GPT Plus|Pro充值

GPT充值

支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。

GPT Image 2中文站

GPT Image 2中文站

AI 图片生成平台

GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。

Vecbase

Vecbase

你的AI Agent团队

Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

下拉加载更多