Caddy
Caddy 是具有 HTTP/2 功能的 網頁伺服器,具有自動 HTTPS 配置功能。
安裝[編輯 | 編輯原始碼]
插件[編輯 | 編輯原始碼]
如果你需要比默認 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