Caddy是一款基于Go语言编写的强大且可扩展的平台,可以给你的站点、服务和应用程序提供服务。如果你是Caddy的新手,那么你提供Web服务的方式即将改变。

关键词

  1. 全局选项块
  2. 地址
  3. 指令
  4. 子指令
  5. 地址
  6. 匹配器(标准匹配器)

配置文件CaddyFile的概念

  1. caddy 命令行工具中,不指定配置文件,则假定当前目录存在Caddyfile文件(--config)
  2. CaddyFile 的结构
  3. 全局配置比心用{} 括起来,必须放到文件的第一行,全局配置是可选的
  4. 一个Caddyfile至少包含一个或多个站点块,这些块总是以站点的一个或多个地址开始。出现在地址之前的任何指令都会使扰乱解析器。
... {
    ...
}
  • 1.
  • 2.
  • 3.
  1. 一个块儿的大括号{ 必须在行尾,比如: xxx.com {
  2. 大括号 } 必须独占一行。
  3. 一个快中的指令都需要缩进的
  4. 指令:是自定义网站服务方式的关键字。例如 file_server, reverse_proxy 等
  5. 指令是站点块中一行的第一个单词
  6. 指令是有顺序的。 https://caddy2.dengxiaolong.com/docs/caddyfile/directives#directive-order
  7. 指令的语法:
指令 [<matcher>] <args...> {
	子指令 [<args...>]
}
  • 1.
  • 2.
  • 3.
  1. 紧跟着指令后面的内容是【匹配器标记】,形式有:
  1. * 匹配所有请求(通配符;默认)。
  2. /path 以正斜杠开头以匹配请求路径。
  3. @name 指定一个命名匹配器。
  1. reverse_proxy localhost:9000reverse_proxy * localhost:9000 的缩写
  2. 所有不是路径或通配符匹配器的匹配器都必须命名为匹配器
@name {
	...
}
  • 1.
  • 2.
  • 3.
  1. 与指令一样,命名匹配器定义必须放在使用它们的站点块内。

博客中所涉及到的图片都有版权,请谨慎使用