Tailscale Caddy 插件使用教程
1. 项目的目录结构及介绍
caddy-tailscale/
├── cmd/
│ └── caddy/
├── examples/
├── LICENSE
├── README.md
└── tscaddy/
├── app.go
├── auth.go
├── listener.go
├── proxy.go
└── subcommand.go
- cmd/caddy/: 包含用于构建 Caddy 二进制文件的 Go 代码。
- examples/: 包含多个示例配置文件,展示了如何使用 Tailscale Caddy 插件。
- LICENSE: 项目的开源许可证文件,采用 Apache-2.0 许可证。
- README.md: 项目的介绍文档,包含基本信息和使用说明。
- tscaddy/: 包含插件的核心代码,包括网络监听器、代理传输、认证提供者等功能。
2. 项目的启动文件介绍
项目的启动文件位于 cmd/caddy/
目录下。该目录包含用于构建 Caddy 二进制文件的 Go 代码。通过以下命令可以构建包含 Tailscale 插件的 Caddy 二进制文件:
xcaddy build v2.8.4 --with github.com/tailscale/caddy-tailscale
或者,您也可以直接构建 cmd/caddy
目录下的代码:
go build ./cmd/caddy
生成的二进制文件可以直接运行,启动 Caddy 服务器并加载 Tailscale 插件。
3. 项目的配置文件介绍
在 examples/
目录下,提供了多个示例配置文件,展示了如何配置 Caddy 服务器以使用 Tailscale 插件。这些示例配置文件通常包含以下内容:
- TS_AUTHKEY: 在运行示例配置时,需要在环境变量中设置 Tailscale 认证密钥。
- 网络监听器配置: 使用
bind
指令指定 Tailscale 网络地址,例如:80 [bind tailscale/]
。 - 节点配置: 可以指定一个命名的节点配置,例如
:80 [bind tailscale/myapp]
。如果没有指定节点配置,将使用默认配置。
在 Caddy JSON 配置文件中,可以通过以下方式添加 Tailscale 应用:
{
"apps": {
"tailscale": {
// 配置项
}
}
}
通过这些配置,您可以实现 Caddy 服务器在 Tailscale 网络中的私有服务、代理请求等功能。