Caddy - Arch Linux 中文维基

跳转到内容

# Caddy

来自 Arch Linux 中文维基
翻译状态：

- 本文（或部分内容）译自 Caddy，最近一次同步于 2024-05-29，若英文版本有所更改，则您可以帮助同步与翻译更改的内容。
- 您可以在 ArchWiki 的对应页面找到本文翻译的原始修订历史。
- 本文可能与英文原文存在出入。

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

## 参见

- Caddy 官方网站
- Caddy 用户指南
- Caddyfile 文档

分类：​

- 网络服务器

Caddy
添加话题