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