Caddy

配置

配置适配器

不喜欢 JSON?把任意格式转成 JSON 再喂给 Caddy。

配置适配器把你选的任何格式转成 Caddy 的原生 JSON。Caddy 自己就带一个 Caddyfile 适配器,社区还提供了其他几种。

使用

终端
# 输出到标准输出
caddy adapt --config Caddyfile

# 指定格式与输出文件
caddy adapt --config nginx.conf --adapter nginx --pretty > caddy.json

# 校验而不运行
caddy validate --config caddy.json

内置的 Caddyfile 适配器

如果当前目录有一个名为 Caddyfile 的文件,并且没有另外指定配置,caddy run 会自动完成适配并运行:

Caddyfile
:2015
respond "Hello, world!"

它对应的 JSON 是:

caddy adapt
{
	"apps": {
		"http": {
			"servers": {
				"srv0": {
					"listen": [":2015"],
					"routes": [
						{
							"handle": [
								{
									"handler": "static_response",
									"body": "Hello, world!"
								}
							]
						}
					]
				}
			}
		}
	}
}

其他适配器

适配器说明
caddyfile内置,本站主要介绍的写法
json5 / jsonc带注释或宽松语法的 JSON 变体
yamlYAML
tomlTOML
nginx转换常见的 nginx 配置

适配器是可插拔的模块,装了对应的插件之后,--adapter 就能认出新的格式。