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

參見[編輯 | 編輯原始碼]