type
status
date
slug
summary
tags
category
icon
password
Caddy 简介:Caddy是一个用Go写的,为站点和服务提供代理的应用;基于Caddy API,配置可以被动态更改;Caddy 也可以直接作为依赖,直接植入到新开发的应用中。
.png?table=block&id=5584c8bf-920c-47f3-b4c7-c3299a3366fb)
安装: arch linux直接sudo pacman -S caddy, 其他系统参考官方文档。
代理静态资源:有两种方法,第一种是使用caddy file-server命令,第二种是使用Caddyfile, 这里介绍 Caddyfile,更容易维护。
注意10.10.10.3本机的 ip,也可以换成 url,caddy 会自动挂载证书。看看效果,默认打开index.html,可以根据文件夹跳转,浏览my-site静态站点里的所有文件。
.png?table=block&id=7350edce-d26b-4cff-a1d2-751e67074186)
.png?table=block&id=b9bfd00f-c4f4-4600-8ccb-16732cc90221)
反向代理: 修改CaddyFile, 运行caddy reload重载配置
看效果:
.png?table=block&id=0744a55d-886c-4d62-8c2f-cc0639907dc4)
其他配置:需要看官方文档,简单看一下思路。
https: 只要域名A/AAA记录指向服务器(需要默认 80/443 端口),那么在配置的时候直接将域名写入,就会自动挂载证书。
API: 文档链接, caddy 服务start 之后,就可以使用 api 对其配置进行增删改查
Caddyfile:资源代理时的模版功能,gzip 压缩功能,多站点代理使用抱起来,匹配功能,环境变量
caddy 的更多语法参考: Caddyfile docs
模块modules:这也是caddy最有特色的功能了,caddy并不是一个巨石应用,他的很多功能是由模块提供的,因此也能根据自己的需求开发模块,挂载到 caddy 中。关于 caddy 的二次开发,参考Extending Caddy,留个坑,下次再研究。
- 作者:Roger
- 链接:https://rgao29.eu.org//article/eeed936b-4999-4fda-8055-eff8afda96f7
- 声明:没有版权,就说是你写的