用百度举例:
反向代理 用 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 。