前提:
反向代理的网站地址为proxy.com,后端有多个网站,
如a.com,
b.com。
目标:
我想通过proxy.com来访问后端的这些网站。
比如proxy.com/a/来访问a.com,方法不限。约束:
后端的这些网站页面中的链接都是使用相对地址,例如/static/img.png
那么问题就是,遇到页面中这样的相对地址,我要如何才能区分出访问的是哪个后端网站。
现在想到几个方法:
1. 通过设置cookie
在cookie中设置访问的是哪个网站,但是缺点是,直接将url复制给其他人,其他人是访问不了的,因为要先确认访问的是哪个网站,然后设置相应的cookie。可以通过访问另外一个网站,然后跳转过来,这样来实现。
2. 二级域名
在proxy.com上使用二级域名来区分,
比如a.proxy.com来确定a.com。
3. 重写页面中的链接地址
在代理上重写页面中的相对地址,例如把 /static/img.png 改成 /a/static/img.png
那么,有没有更好的方法?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/146552
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.