如何解决Nginx 将子目录添加到 proxy_pass 响应?
我的 Nginx 配置有问题,我可以使用一些帮助,因为我觉得我很接近。
我正在尝试将 Nginx 配置为托管多个应用程序,并根据此处显示的应用程序子目录路由流量。
server {
listen 80;
location /something / {
proxy_set_header Host $host;
rewrite /something/(.*)$ /$1 break;
proxy_pass http://django_application_upstream1;
}
location /another_something/ / {
proxy_set_header Host $host;
rewrite /another_something /(.*)$ /$1 break;
proxy_pass http://django_application_upstream2;
}
}
此设置非常适合将流量引导至相应的应用程序,但当用户点击带有绝对 URL 的 href 时,一切都会出错。
例如:
http://django_application_upstream1/something/ -> Landing page (perfect)
user clicks landing page href=’/’ -> 404 not found
(should return user to http://django_application_upstream1/something/)
即使我将子目录添加到应用程序 html 中的 href (‘/something/’) 中,该子目录也会在途中的某处被删除,但我仍然返回到根 url。
是否可以重写 proxy_pass 响应,以便我可以重新添加上一次重写时删除的子目录? 这意味着即使使用了绝对 href,来自代理的所有响应都会重新添加子目录。
感谢您的帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。