跳到主要内容

基于 Caddy 部署盘古 Admin

· 阅读需 3 分钟
程序员老熊

本文以部署盘古 Admin 在线演示系统为例讲解如何基于 Caddy 部署盘古 Admin 的静态资源和 Web 节点(业务网关)。
部署效果:https://pangu-admin.pulanit.com

  • 充当 WebServer 部署项目静态网站。
  • 充当流量网关方向代理后端的 Web 节点(业务网关)。
  • 全站自动 SSL。包含静态网站和 API 请求。
  • 解决跨域请求;解决前端 https 后端 http 的协议适配问题。

nginx 也可以做同样的事情。

解析二级域名

登录域名服务商控制台,添加一条二级域名 pangu-admin.pulanit.com 的解析记录。

修改配置文件

# vi /etc/caddy/Caddyfile
pangu-admin.pulanit.com {
# Set this path to your site's directory.
root * /var/www/pangu-admin
encode gzip
# Enable the static file server.
file_server

# Another common task is to set up a reverse proxy:
reverse_proxy /api/* {
# 可以指定多个后端业务网关 WEB 节点
to localhost:8080
}
}
  • 静态资源文件上传到目录:/var/www/pangu-admin
  • 后端 Dubbo 微服务集群的部署不在本文讨论范围,本文仅通过 Caddy 反向代理后后端业务网关。
  • 通过如上配置,网站和 API 自动都拥有了 https 的能力。
提示

上述部署结构,使得静态网站和 API 处于同一域名下,解决了跨域的问题。但如果 API 需要反向代理到不同的端口下或者域名下,则可以设置业务网关的参数开启跨域支持,也可以在 Caddy 配置文件配置响应头参数以支持跨域访问。

关于 Caddy 中间件的介绍和基础使用,可以参考我的另外一篇文章。使用 Caddy 部署盘古项目官网