浏览 1.6k
情况是这样的,有(nginx代理)www.a.com和(目标)www.b.com,我想访问浏览器www.a.com/opp,出现www.b.com的信息,并且浏览器里面的主域名还是www.a.com/opp, 我在nginx上这样配置:
location /opp {
proxy_set_header Accept-Encoding "";
proxy_pass http://www.b.com/; #你要反代的网站域名
proxy_redirect off;
# proxy_set_header HOST $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
error_page 400 401 402 403 404 /40x.html;
}
# !!!--用于解决js css等资源无法加载的问题--!!!
location ~ .*\.(js|css|jpg|gif|png|bmp|jpeg|svg)$ {
proxy_pass http://www.b.com;
}发现可以实现浏览器www.a.com/opp,出现www.b.com的“首页”信息,并且浏览器域名是www.a.com/opp,但是当我点击网站首页的内容链接后,会跳转为 www.a.com/xxxx.html 等,这里的opp就在浏览器消失了,这导致我也出现40x报错,手动添加opp到浏览器路径www.a.com/opp/xxxx.html ,就可以正确浏览www.b.com/xxxx.html的内容。
我试过 location /opp/ , proxy_pass http://www.b.com; 等加减/ 号的组合。还是没有解决。
所以要怎么配置?达成:访问浏览器www.a.com/opp,出现www.b.com的信息,并且浏览器里面的地址还是www.a.com/opp ,点击首页的链接xxxx.html后,会在地址栏跳转到 www.a.com/opp/xxxx.html,内容是www.b.com/xxxx.html的(实际就是让这个opp路径在浏览器不要丢失,不用考虑Http(s)问题,已经解决)。
按点赞数排序
按时间排序
sticky模块只能在linux下吧,win下没有。tomcat好像有个session复制吧,或者可以用共享session。
没办法完全不受影响的,因为mirror是子请求,当子请求未结束时,主请求消耗的内存至少是无法释放的。你可以尝试在/mirror里,把超时时间大幅度调低,包括connect/read/send,再压下看看。
微信公众号
加入微信群