<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
- 当其他服务器因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
...以下步骤将自动完成: