-
Notifications
You must be signed in to change notification settings - Fork 998
Open
Description
Bug 描述
当使用 Nginx 配置反向代理将流量代理到应用的一个子路径(例如 /app/)时,应用内的某些资源请求(如 JavaScript、CSS、API 调用)仍然错误地向服务器的根路径(/)发起请求,而不是正确的子路径(/app/),导致这些资源无法加载,页面功能异常。
重现步骤
- 配置一个 Nginx 反向代理,将特定域名或路径(例如
example.com/myapp/)代理到后端应用服务器(例如运行在http://localhost:3000的应用)。location /myapp/ { proxy_pass http://localhost:3000/; # 其他代理设置... } - 通过浏览器访问代理后的地址,例如
https://example.com/myapp/。 - 页面可能部分加载,但检查浏览器开发者工具(F12)的网络控制台。
- 会发现 404 错误,原因是部分请求的 URL 为
https://example.com/static/js/...而不是https://example.com/myapp/static/js/...。
预期行为
所有由应用发起的相对路径请求,都应该基于代理配置的子路径(/myapp/)来构建完整的 URL。例如,对于静态资源 /static/js/app.js,其请求的完整 URL 应为 https://example.com/myapp/static/js/app.js,从而通过 Nginx 正确代理到后端服务。
Metadata
Metadata
Assignees
Labels
No labels