type
status
date
slug
summary
tags
category
icon
password
Caddy 简介:Caddy是一个用Go写的,为站点和服务提供代理的应用;基于Caddy API,配置可以被动态更改;Caddy 也可以直接作为依赖,直接植入到新开发的应用中。
 
notion image
安装: arch linux直接sudo pacman -S caddy, 其他系统参考官方文档
代理静态资源:有两种方法,第一种是使用caddy file-server命令,第二种是使用Caddyfile, 这里介绍 Caddyfile,更容易维护。
 
 
注意10.10.10.3本机的 ip,也可以换成 url,caddy 会自动挂载证书。看看效果,默认打开index.html,可以根据文件夹跳转,浏览my-site静态站点里的所有文件。
 
notion image
notion image
 
 
反向代理: 修改CaddyFile, 运行caddy reload重载配置
 
 
看效果:
 
notion image
 
其他配置:需要看官方文档,简单看一下思路。
https: 只要域名A/AAA记录指向服务器(需要默认 80/443 端口),那么在配置的时候直接将域名写入,就会自动挂载证书。
API文档链接, caddy 服务start 之后,就可以使用 api 对其配置进行增删改查
Caddyfile:资源代理时的模版功能,gzip 压缩功能,多站点代理使用抱起来,匹配功能,环境变量
 
 
 
caddy 的更多语法参考: Caddyfile docs
模块modules:这也是caddy最有特色的功能了,caddy并不是一个巨石应用,他的很多功能是由模块提供的,因此也能根据自己的需求开发模块,挂载到 caddy 中。关于 caddy 的二次开发,参考Extending Caddy,留个坑,下次再研究。
高内聚, 低耦合cloudflare tunnels 穿透+反代