相关链接
Caddyfile整体架构
![image]()
常用命令
相关命令行详细参数可 参考
BASH
1 2 3 4 5 6 7 8 9 10 11 12
| caddy run
caddy run --config /path/to/Caddyfile
caddy start
caddy stop
caddy reload
caddy adapt --conig Caddyfile
|
常用快捷方式
临时托管文件目录
BASH
1 2 3 4 5
|
caddy file-server --browse --listen :2020
|
反向代理
BASH
1 2 3 4 5 6
|
caddy reverse-proxy --from :2080 --to :9000
caddy reverse-proxy --from example.com:443 --to https://localhost:9000 --change-host-header
|
Caddyfile
托管文件服务器
1 2 3 4 5 6 7 8 9 10 11 12 13
| # 指定了域名,那么只有该域名可以访问该内容 # 如果只指定端口,那么任何指向该服务器的域名都可以访问该服务 # 添加多个域名可以 www.example.com:port, www.example1.com:port www.example.com:port { # 添加 Gzip 和 Zstandard 压缩 encode zstd gzip # browse 如果没有索引文件,可以直接托管当前目录 file_server browse # 设置站点根目录,这里的 matcher 匹配了所有的路径,相关语法可参考如下链接 # 可设置 路径, 文件 ,请求方法, 请求头, 请求协议, 请求参数 等的匹配器 # https://caddyserver.com/docs/caddyfile/matchers#syntax root * /path/to/mysite }
|
反向代理
1 2 3 4 5 6 7 8 9 10
| # 指定了域名,那么只有该域名可以访问该内容 # 如果只指定端口,那么任何指向该服务器的域名都可以访问该服务 # 添加多个域名可以 www.example.com:port, www.example1.com:port www.example.com:port { # 如果不设置路径,那么就反向代理 所有路径 # 相关 matcher 可以参考如下链接 # 可设置 路径, 文件 ,请求方法, 请求头, 请求协议, 请求参数 等的匹配器 # https://caddyserver.com/docs/caddyfile/matchers#syntax reverse_proxy /api/* 127.0.0.1:9005 }
|
同域名既托管文件又反向代理
1 2 3 4 5 6 7 8 9
| www.example.com:port { # 用于文件托管 file_server # 这里只反代 path 为 /api/ 开头的请求 # 这里匹配的路径使用了 matchers ,可以参考如下文档 # 可设置 路径, 文件 ,请求方法, 请求头, 请求协议, 请求参数 等的匹配器 # https://caddyserver.com/docs/caddyfile/matchers#syntax reverse_proxy /api/* 127.0.0.1:9005 }
|
其他
如果域名绑定了 内网IP ,那么 caddy 是无法申请 HTTPS 证书的,可以参考 这里 来实现该功能。
相关 Caddyfile文件配置 可以进行参考。