文档
一个 项目

配置适配器

Caddy 的原生配置语言是 JSON,但是手动编写 JSON 既繁琐又容易出错。这就是为什么 Caddy 支持通过配置适配器使用其他语言进行配置的原因。它们是 Caddy 插件,使您可以通过输出 Caddy JSON,以您偏好的格式使用配置。

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

已知的配置适配器

以下配置适配器当前可用(有些是第三方项目)

使用配置适配器

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

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

或通过 API 在 /load 端点

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

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

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

注意事项

并非所有配置语言都 100% 与 Caddy 兼容;某些功能或行为只是转换不佳,或者尚未编程到适配器或 Caddy 本身中。

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

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

配置适配器可以输出生成的 JSON、警告和错误。如果没有错误发生,则输出 JSON 结果。当输入出现问题时(例如,语法错误),会发生错误。当适配出现问题但并非致命时(例如,不支持的功能),会发出警告。如果使用通过警告适配的配置,建议谨慎。