×

/caddy/

3 个文件夹 14 个文件 总计 20 MiB
列表 网格
名称
大小 更新时间
返回上级目录
img/
v2.10.0/
v2.9.1/
favicon.ico
4.2 KiB
github云编译caddy.yml
8.3 KiB
markdown.md
2.8 KiB
README.md
12 KiB
图片1.jpeg
68 KiB
图片2.jpg
975 KiB
图片3.gif
983 KiB
图片4.webp
198 KiB
徐誉滕 - 天使的翅膀.mp4
14 MiB
我的README.md
3.5 KiB
梅艳芳 - 似是故人来.m4a
1.8 MiB
测试号配置.pdf
312 KiB
清明上河图.jpg
2.0 MiB
脚本.sh
560 B

Caddy
Build status


版本发布 · 文档 · 获取帮助

菜单

由以下提供支持
CertMagic

功能

  • 轻松配置,使用Caddyfile
  • 强大的配置,使用其原生JSON配置
  • 动态配置,使用JSON API
  • 配置适配器,如果你不喜欢JSON格式
  • 默认自动HTTPS
    • 使用ZeroSSLLet's Encrypt进行公有域名的证书颁发
    • 完全管理的本地CA用于内部域名和IP地址
    • 可以与其他Caddy实例在集群中协调
    • 多发证者的回退机制
  • 当其他服务器因TLS/OCSP/证书问题停止时,Caddy仍然能正常运行
  • 在处理数万亿请求和管理数百万个TLS证书后,已经足够成熟,适合生产环境
  • 可扩展至数十万个站点,在生产环境中经过验证
  • 默认支持HTTP/1.1、HTTP/2和HTTP/3
  • 高度可扩展模块化架构让Caddy可以在不增加冗余的情况下
  • 无需外部依赖,在任何地方运行(甚至没有libc)
  • 使用Go语言编写,Go语言比其他服务器具有更高的内存安全性保证
  • 实际上使用起来非常有趣
  • 还有更多功能等待你去发现

安装

最简单、跨平台的方式是从GitHub Releases下载Caddy并将可执行文件放置在你的PATH中。

有关其他安装说明,请参见我们的在线文档

从源代码构建

要求:

用于开发

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

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

当你运行 Caddy 时,它可能会尝试绑定到低端口(例如 80 或 443),除非在配置中另行指定。如果你的操作系统要求提升权限才能进行此操作,你需要给予新的二进制文件相应的权限。在 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 -tags=nobadger,nomysql,nopgx

快速开始

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,但如果你更喜欢配置文件,命令行界面 也支持这些文件。

Caddy 提供了前所未有的控制能力,相较于其他任何 Web 服务器。在 Caddy 中,你通常是在设置初始化类型的实际值,这些值控制着从 HTTP 处理程序、TLS 握手到存储介质的所有内容。Caddy 也极其可扩展,具有强大的插件系统,极大地改进了其他 Web 服务器。

要掌握这种设计的强大功能,你需要了解配置文档的结构。有关 Caddy 配置结构的详细信息,请参阅 我们的文档站点

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

完整文档

我们的网站提供了完整的文档:

https://caddyserver.com/docs/

文档也都是开源的,你可以在这里贡献:https://github.com/caddyserver/website

获取帮助

  • 我们建议使用 Caddy 的公司在需要帮助之前通过 Ardan Labs 获取支持合同。

  • 赞助 是非常有意义的!我们可以为赞助者提供私人帮助。如果 Caddy 对你的公司有帮助,请考虑进行赞助。这不仅有助于资助全职工作以确保项目的长期发展,还能为你的公司提供所需的资源、支持和折扣;同时,向客户和潜在客户展示出色的企业形象!

  • 个人用户可以在我们的社区论坛 https://caddy.community 免费交换帮助。请记住,帮助是人们在空闲时间出于善意提供的。获得帮助的最佳方式是首先提供帮助!

请仅将 问题跟踪器 用于报告错误和功能请求,即可执行的开发项目(支持问题通常会被引导到论坛)。

关于

Matthew Holt 在 2014 年开始开发 Caddy,当时他正在布里格姆杨大学学习计算机科学。(“Caddy”这个名字的选择是因为该软件帮助处理 Web 服务中的繁琐、单调任务,并且它也是一个将多个功能组织在一起的地方。)Caddy 很快成为第一个自动并默认使用 HTTPS 的 Web 服务器,现在拥有成百上千的贡献者,并且已经服务了数万亿次 HTTPS 请求。

“Caddy”是商标。 软件的名称是 “Caddy”,而不是 “Caddy Server” 或 “CaddyServer”。请称它为 “Caddy”,或者如果需要澄清,可以称其为 “Caddy Web Server”。Caddy 是 Stack Holdings GmbH 的注册商标。

Caddy 是 ZeroSSL,Stack Holdings 公司的一个项目。

Debian 包管理仓库托管由 Cloudsmith 提供。Cloudsmith 是唯一的完全托管的、云原生的、通用的包管理解决方案,可以让你的组织创建、存储和分享任何格式的包,并能够放心地将它们传输到任何地方。