技术解析

nginx 反向代理 修改重定向地址的方法?
0
2021-05-25 15:02:56
idczone

用百度举例:

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


修改 location

rewrite host 来修改返回的 http 请求的 location

subs_filter

这里面有两个问题:
首先,正常访问 baidu 的时候会不会跳到 baidu2 ,如果不跳,那就是被区别对待了,区别对待是有原因的,无非就那几个变量:来路, host ,端口 ,打开 debug 日志可以看到请求方式,修改那几个传过去的 header ,改成跟你正常的看他还跳不跳。这个是基于 header 的
第二个问题,有可能是 js 干的,@xgowex 的替换可以改变响应体,包括 js

header 必须要传假 url ,真 url 未备案,会被拦截。程序获取到假 url ,做重定向,需要 nginx 把假 url 替换成实际 url 。

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服