v2中文文档
项目

API快速入门

先决条件:

  • 基本的终端/命令行技能
  • PATH环境变量支持caddycurl

首先启动Caddy:

caddy start

Caddy现在处于空闲状态(配置为空白)。通过curl可以给它加上一个简单的配置:

curl localhost:2019/load \
    -X POST \
    -H "Content-Type: application/json" \
    -d @- << EOF
    {
        "apps": {
            "http": {
                "servers": {
                    "hello": {
                        "listen": [":2015"],
                        "routes": [
                            {
                                "handle": [{
                                    "handler": "static_response",
                                    "body": "Hello, world!"
                                }]
                            }
                        ]
                    }
                }
            }
        }
    }
EOF

使用Heredoc提供POST包体可能很乏味,如果你更喜欢使用文件,请将JSON保存成caddy.json的文件,然后改用以下命令:

curl localhost:2019/load \
  -X POST \
  -H "Content-Type: application/json" \
  -d @caddy.json

现在在浏览器中访问localhost:2015,或者通过curl调用:

curl localhost:2015
Hello, world!

我们还可以使用这个JSON在不同的端口上定义多个站点:

{
	"apps": {
		"http": {
			"servers": {
				"hello": {
					"listen": [":2015"],
					"routes": [
						{
							"handle": [{
								"handler": "static_response",
								"body": "Hello, world!"
							}]
						}
					]
				},
				"bye": {
					"listen": [":2016"],
					"routes": [
						{
							"handle": [{
								"handler": "static_response",
								"body": "Goodbye, world!"
							}]
						}
					]
				}
			}
		}
	}
}

更新你的 JSON,然后再次执行 API 请求。

浏览器中尝试新的“bye”端点,或使用curl以确保它有效:

curl localhost:2016
Goodbye, world!

当你使用完Caddy后,请务必停止它:

caddy stop

使用API还可以做更多事情,包括导出配置和对配置进行细粒度地更改(而不是更新整个内容)。请务必阅读完整的 API教程,了解如何进行具体的操作!

进一步阅读