nginx 如何代理部分链接到另一台机器

2014-10-29 09:48:45 +08:00
 klc1989110

有A,B两台机器,A的域名(www.a.com), B的域名为(www.b.a.com), A是还在用的老Rails项目,B是新Rails项目,现在想把指向A的几个链接(如a.com, a.com/c)转到B上, 但浏览器中地址还要显示(www.a.com/c),


server
{
listen 80;
server_name a.com;

location / {
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://b.a.com;
}
}

这样的写法,会没法加载css,js和图片(因为发出了a.com/assets/1.js这样的请求)。
请教nginx要怎么配置?

3177 次点击
所在节点    NGINX
4 条回复
ooxxcc
2014-10-29 09:55:30 +08:00
loveyu
2014-10-29 11:43:22 +08:00
这个应该需要B站做下修改,ngixn只负责内容转发过来,不负责页面内部链接的处理
klc1989110
2014-10-29 14:20:48 +08:00
多谢2楼提供思路。
ryd994
2014-10-29 16:20:23 +08:00
或者subsfilter把资源全换掉

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

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

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

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

© 2021 V2EX