前段时间简单学了学Caddy, 一直没有用武之地, 最近需要联调一个服务, 所以拿它试试水。
首先使用scoop安装这俩软件, 这边使用Gitee上的一个仓库
scoop bucket add extras <https://gitee.com/scoop-bucket/extras>
然后分别安装
scoop install caddy
scoop install mkcert
然后在Caddy.exe同目录下建一个Caddyfile文件(无后缀名), 文件内容:
其中tls后面的证书是需要用mkcert生成的
# 全局选项块, 必须放在头部
{
# 开启debug模式
#debug
# 管理端点禁用
admin off
# 自动HTTPS
#auto_https off|disable_redirects|ignore_loaded_certs
}
# 片段, 可以使用import在任何地方引用
(backend) {
# 反向代理
reverse_proxy <http://localhost:8901> {
# header_up为在代理之前+-请求头
header_up Host {host}
header_up X-Real-IP {remote}
header_up X-Forwarded-For {remote}
header_up X-Forwarded-Port {server_port}
header_up X-Forwarded-Proto {scheme}
# header_down为在代理请求返回之后+-响应头
header_down Access-Control-Allow-Headers *
header_down Access-Control-Allow-Origin *
}
}
example.org {
tls D:/data/ssh_cert/_wildcard.xxx.cn+3.pem D:/data/ssh_cert/_wildcard.xxx.cn+3-key.pem
# handle 表示拦截器
handle /* {
import backend
}
}
找个目录使用mkcert生成证书, 需要什么域名或者ip直接往后写就行:
mkcert "*.example.org" localhost 127.0.0.1 ::1
然后安装Local CA (此操作只需执行一次即可, 以后无需执行)
mkcert --install
然后把Caddyfile中tls后面的证书和key路径和文件名改成生成的证书路径和文件名
然后就可以启动Caddy了
caddy run
OK最后就可以愉快的玩耍了。