文档
一个 项目

配置适配器

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 结果。当输入有问题时(例如,语法错误)会发生错误。当适配过程中出现问题但不一定致命时(例如,不支持的功能)会发出警告。如果使用带有警告的适配配置,建议谨慎行事。