Caddy

来自 Arch Linux 中文维基

Caddy 是具有 HTTP/2 功能的 网页服务器,具有自动 HTTPS 配置功能。

安装[编辑 | 编辑源代码]

安装 caddy 软件包。

插件[编辑 | 编辑源代码]

如果你需要比默认 caddy 更多的功能,可以使用 xcaddy-binAUR 来自定义 caddy server 构建。这对于需要如 DNS challenge 插件等场景非常有用。 另外,在可用的情况下,你也可以直接从 AUR 挑选要要安装的带插件预构建版本,例如 caddy-cloudflareAUR

你可以使用 xcaddy 构建带特定插件的定制 caddy server:

$ xcaddy build [<caddy_version>]
   [--output <file>]
   [--with <module[@version][=replacement]>...]

更多信息可参考 xcaddy 存储库

配置[编辑 | 编辑源代码]

Caddy 2 支持多种配置格式,详情可参考 配置适配器(包括 caddyfile,nginx,json,yaml,toml 等)。

最常用的做法是使用被称为 Caddyfile 的纯文本文件。Caddyfile 由(可选的全局选项块及)要发布的网页地址开头,后接数个次级指令。

一个简单的 Caddyfile 如下所示,在 localhost:2020 发布了一个网页:

{
  http_port 2020
}

localhost:2020
file_server

用法[编辑 | 编辑源代码]

$ caddy help
$ caddy help run

Caddy 可以由页面目录中的任何用户运行,并且 Caddyfile 应该位于同一目录中:

$ caddy run

或者,您可以指定一个自定义的 Caddyfile

$ caddy run -config ../path/to/Caddyfile

故障排除[编辑 | 编辑源代码]

证书错误[编辑 | 编辑源代码]

如果你遇到了任何 SSL 证书相关问题(特别是在非公开域名上),基本上都由 caddy 实例无将证书添加到系统信任存储位置的权限导致。在使用 caddy.service 自动启动 caddy 时似乎都由于该问题导致。

要修复该问题,请使用 root 权限执行以下命令。你只需隔很长时间运行一次该命令(根证书的寿命周期)。

# XDG_DATA_HOME=/var/lib caddy trust

参见[编辑 | 编辑源代码]