nginx 反向代理 修改重定向地址的方法?

2016-01-10 14:02:32 +08:00
 imydou

用百度举例:

反向代理 用 www.abc.com 反代 www.baidu.com
用户访问 www.abc.com
www.baidu.com 返回重定向 www.baidu2.com
结果用户浏览器重定向到 www.baidu2.com
反代如何修改 www.baidu.com 返回的重定向地址?

6077 次点击
所在节点    NGINX
5 条回复
TheCure
2016-01-10 16:25:54 +08:00
修改 location
TheCure
2016-01-10 16:28:27 +08:00
rewrite host 来修改返回的 http 请求的 location
Slienc7
2016-01-10 16:31:28 +08:00
subs_filter
uyear
2016-01-11 10:33:12 +08:00
这里面有两个问题:
首先,正常访问 baidu 的时候会不会跳到 baidu2 ,如果不跳,那就是被区别对待了,区别对待是有原因的,无非就那几个变量:来路, host ,端口 ,打开 debug 日志可以看到请求方式,修改那几个传过去的 header ,改成跟你正常的看他还跳不跳。这个是基于 header 的

第二个问题,有可能是 js 干的,@xgowex 的替换可以改变响应体,包括 js
imydou
2016-01-11 20:50:19 +08:00
@uyear header 必须要传假 url ,真 url 未备案,会被拦截。程序获取到假 url ,做重定向,需要 nginx 把假 url 替换成实际 url 。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/249673

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX