文档
一个 项目

配置适配器

Caddy 的原生配置语言是 JSON,但手动编写 JSON 可能很繁琐且容易出错。这就是 Caddy 支持通过 **配置适配器** 使用其他语言进行配置的原因。它们是 Caddy 插件,通过为您输出 Caddy JSON,使您能够使用您喜欢的格式进行配置。

例如,配置适配器可以 将您的 NGINX 配置转换为 Caddy JSON

已知配置适配器

以下配置适配器目前可用(其中一些是第三方项目)

使用配置适配器

您可以通过在命令行上使用大多数接受配置的子命令的 --adapter 标志来指定配置适配器

caddy run --config caddy.yaml --adapter yaml

或者通过 /load 端点 的 API

curl localhost:2019/load \
	-H "Content-Type: application/yaml" \
	--data-binary @caddy.yaml

如果您只想获取输出 JSON 而不运行它,可以使用 caddy adapt 命令

caddy adapt --config caddy.yaml --adapter yaml

注意事项

并非所有配置语言都与 Caddy 100% 兼容;某些功能或行为根本无法很好地转换,或者尚未在适配器或 Caddy 本身中进行编程。

一些适配器执行 1 对 1 转换,例如 YAML->JSON 或 TOML->JSON。其他适配器是专门为 Caddy 设计的,例如 Caddyfile。通常,这些适配器将始终有效。

但是,并非所有适配器都能始终有效。配置适配器尽其所能以最高保真度和正确性将您的输入转换为 Caddy JSON。由于此转换过程不能保证始终完整且正确,因此我们不称它们为“转换器”或“翻译器”。它们是“适配器”,因为它们至少会为您提供一个良好的起点来完成最终 JSON 配置的制作。

配置适配器可以输出生成的 JSON、警告和错误。如果未发生错误,则输出 JSON 结果。如果输入存在问题(例如,语法错误),则会发生错误。如果适配过程中存在问题,但并非致命问题(例如,不支持的功能),则会发出警告。如果使用带有警告的配置,请谨慎操作。