使用 Caddy 部署反向代理并自动签发 SSL 证书

教程 | 本篇文章共358字,预计阅读1分钟

假设你的同一台服务器部署了多个网站:5212 端口运行 Cloudreve,3000 端口运行 Gitea,9000 端口部署 Minio。如果直接绑定域名则必须加端口号访问。通过反向代理就能实现不带端口号访问(其实是 80 端口,不过默认隐藏了)。

本文以此为例使用 Caddy 进行反代,配置简单且无需手动配置 SSL。

安装 Caddy

参考官方文档,本文不再赘述。

配置反代和 SSL

编辑 Caddyfile

1
sudo nano /etc/caddy/Caddyfile

删除或注释所有内容,填入以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
pan.example.com {
tls i@example.com
encode gzip
reverse_proxy localhost:5212
}
git.example.com {
tls i@example.com
encode gzip
reverse_proxy localhost:3000
}
s3.example.com {
tls i@example.com
encode gzip
reverse_proxy localhost:9000
}

请把其中的 i@example.com 改为你的邮箱,用于签发 SSL 证书。(所填邮箱不一定要是真实存在的。)

注:本文默认 Cloudreve 绑定域名 pan.example.com,Gitea 绑定域名 git.example.com,Minio 绑定域名 s3.example.com,反代其他网站参考以上操作。本文仅作演示,请按实际情况填写,并提前在域名提供商处解析域名。

后续配置

启动 Caddy

1
sudo systemctl start caddy

设置 Caddy 开机自启

1
sudo systemctl enable caddy

配置完成后,可能需要到对应网站后台修改站点链接,确保能正常访问。

本文作者:Tony

本文链接: https://blog.iamsjy.com/2022/06/27/use-caddy-to-deploy-reverse-proxy-with-auto-ssl/

文章默认使用 CC BY-NC-SA 4.0 协议进行许可,使用时请注意遵守协议。

评论