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

教程 326 字 约 2 分钟

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

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

安装 Caddy

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

配置反代和 SSL

编辑 Caddyfile

sudo nano /etc/caddy/Caddyfile

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

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

sudo systemctl start caddy

设置 Caddy 开机自启

sudo systemctl enable caddy

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

使用 Caddy 部署反向代理并自动签发 SSL 证书
https://blog.iamsjy.com/2022/06/27/use-caddy-to-deploy-reverse-proxy-with-auto-ssl/
本文作者
Tony
发布日期
2022-06-27
更新日期
2022-06-27
转载或引用本文时请遵守 CC BY-NC-SA 4.0 许可协议,注明出处、不得用于商业用途!

评论