Project Icon

caddy

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

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

Caddy

一个 项目


所有网站都使用HTTPS

Caddy是一个可扩展的服务器平台,默认使用TLS。


Twitter上的@caddyserver Caddy论坛
Sourcegraph上的Caddy Cloudsmith

发布 · 文档 · 获取帮助

菜单

由以下技术支持
CertMagic

特性

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

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

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

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号