倒腾了小半个下午,平时配的都是不同域名下的前后分离,头一回使用 Caddy 配置同一个域名下的前后分离。
不同域名下的前后分离(这个不在本文详解,很好配置),例:
- api.foo.com (后端)
- foo.com (前端)
统一域名下的前后分离,例:
- foo.com/api/* (后端)
- foo.com/* (前端)
因为 reverse_proxy 和 file_server 的优先级问题,如果直接设定 /api*
的反代和静态文件目录以及重写会导致错误。
配置使用 route
来匹配路径来解决问题我认为是一个比较优的解。
在我的案例中,前端是直接丢磁盘上的,后端需要 Caddy 进行反代:
8小时劳动,8小时休闲,8个小时休息,下班!