You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Traefik、Nginx与Django(GUnicorn)双层反向代理配置及路径前缀缺失导致链接失效问题求助

Traefik、Nginx与Django(GUnicorn)双层反向代理配置及路径前缀缺失导致链接失效问题求助

大家好,我目前的服务部署架构是这样的:

publicly available                 private network
__________________________      ______________________________
| Traefik reverse proxy  | <--> | nginx <--> Django/GUnicorn |
__________________________      ______________________________

简单说下流量走向:Traefik作为公网侧的反向代理,会把类似 https://some.example.com/foo/bar/ 的公网请求转发到私有网络里的 http://<ip-of-nginx>:80/ —— 这里Traefik会自动去掉URL里的foo/bar前缀,同时把HTTPS协议降级成HTTP。

私有网络里的Nginx一方面负责静态文件的分发,另一方面也扮演了内部反向代理的角色,和后端的Django(搭配GUnicorn)服务做请求的转发交互。

现在遇到了一个棘手的问题:当客户端请求 https://some.example.com/foo/bar/baz 时,能正常获取到Django渲染的对应/baz路由的页面,这部分是符合预期的。但页面上所有的内部链接都直接指向 https://some.example.com/…,完全缺失了foo/bar/这个前缀!这些没有前缀的链接根本不在Traefik的转发规则覆盖范围内,所以全部失效了,用户点击后根本访问不到正确的内容。

备注:内容来源于stack exchange,提问作者user3389669

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 09:18:14