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

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

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

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

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

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

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多