求普及反向代理?

2012-09-26 11:20:59 +08:00
 cdredfox
谁能帮我普及一下反向代理呀?google了一把,大概明白是怎么一回事。但是我有个具体的Case,不知道是否可以做到:

假设我有个站 test.abc.com 是个二级域名,这个不支持或名绑定,我有一个域名,比如www.test.com我现在想把www.test.com反向代理到test.abc.com上面,即使用www.test.com上面访问的是test.abc.com是否可以?类似于cname的效果。
3187 次点击
所在节点    问与答
7 条回复
TONYHEAD
2012-09-26 11:33:26 +08:00
可以的,apache的话可以把下面的代码写入www.test.com下的.htaccess文件

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)$ http://test.abc.com/$1 [P]
cdredfox
2012-09-26 14:22:24 +08:00
反向代理是不是还需要 test.abc.com 这个站支持才行?如果不支持,也不能从 www.test.com 上面反向代理过去是吗?
feiandxs
2012-09-26 14:25:43 +08:00
不用
在nginx里可以做到的
默认nginx转发$host ,包含域名
你可以把$host改成test.abc.com
这样nginx就会接收到www.test.com但是给后端发送test.abc.com返回的时候再给用户发送www.test.com
无需后端服务器的支持。
cdredfox
2012-09-26 14:41:06 +08:00
@feiandxs 但是很奇怪,我刚刚试了一下,貌似不行,不知道是否我的配置是否有问题,我是在cloudfoundry上的一个应用,就不能代理过去,直接报404了,如果我改成转发到twitter就可以,所以我刚刚才问是不是需要后端支持。
cdredfox
2012-09-26 14:42:13 +08:00
@feiandxs 附上我的配置
server
{
listen 80;
server_name test.com;
location / {
proxy_pass http://zhekoujie.cloudfoundry.com/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
yangg
2012-09-26 15:00:29 +08:00
加上proxy_set_header Host zhekoujie.cloudfoundry.com;
试试
cdredfox
2012-10-24 13:28:24 +08:00
我加上这个设置后,还是一样的,404找不到的错

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

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

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

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

© 2021 V2EX