通过nginx反向代理的方式代理一个系统的资源,但是访问代理后的地址后登录报错500,因为系统比较久远无人维护,无法查看应用的日志,无法得知具体的报错信息。
经过多次排查,确认是接口校验了请求的referren请求头,首先通过nginx设置请求头替换referren为原来的地址:
proxy_set_header Referer "http://xx.xx.x.xx/";
修改后发现还是无法解决问题,然后通过替代页面元素的方式,使iframe访问页面的时候不去生成referren请求头:
subs_filter '<head>' '<head> <meta name="referrer" content="never">';
sub_filter_once off;
sub_filter_types *;
最后问题成功解决。