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是唯一完全托管、云原生、通用的软件包管理解决方案,使您的组织能够以完全的信心创建、存储和分享任何格式的软件包到任何地方。

编辑推荐精选

Refly.AI

Refly.AI

最适合小白的AI自动化工作流平台

无需编码,轻松生成可复用、可变现的AI自动化工作流

酷表ChatExcel

酷表ChatExcel

大模型驱动的Excel数据处理工具

基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。

AI工具酷表ChatExcelAI智能客服AI营销产品使用教程
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
AIWritePaper论文写作

AIWritePaper论文写作

AI论文写作指导平台

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

AI辅助写作AI工具AI论文工具论文写作智能生成大纲数据安全AI助手热门
博思AIPPT

博思AIPPT

AI一键生成PPT,就用博思AIPPT!

博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。

AI办公办公工具AI工具博思AIPPTAI生成PPT智能排版海量精品模板AI创作热门
潮际好麦

潮际好麦

AI赋能电商视觉革命,一站式智能商拍平台

潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。

iTerms

iTerms

企业专属的AI法律顾问

iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。

SimilarWeb流量提升

SimilarWeb流量提升

稳定高效的流量提升解决方案,助力品牌曝光

稳定高效的流量提升解决方案,助力品牌曝光

Sora2视��频免费生成

Sora2视频免费生成

最新版Sora2模型免费使用,一键生成无水印视频

最新版Sora2模型免费使用,一键生成无水印视频

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

下拉加载更多