首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Coding
V2EX  ›  问与答

求普及反向代理?

  •  
  •   cdredfox · 2012-09-26 11:20:59 +08:00 · 2307 次点击
    这是一个创建于 2633 天前的主题,其中的信息可能已经有所发展或是发生改变。
    谁能帮我普及一下反向代理呀?google了一把,大概明白是怎么一回事。但是我有个具体的Case,不知道是否可以做到:

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

    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.*)$ http://test.abc.com/$1 [P]
        2
    cdredfox   2012-09-26 14:22:24 +08:00
    反向代理是不是还需要 test.abc.com 这个站支持才行?如果不支持,也不能从 www.test.com 上面反向代理过去是吗?
        3
    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
    无需后端服务器的支持。
        4
    cdredfox   2012-09-26 14:41:06 +08:00
    @feiandxs 但是很奇怪,我刚刚试了一下,貌似不行,不知道是否我的配置是否有问题,我是在cloudfoundry上的一个应用,就不能代理过去,直接报404了,如果我改成转发到twitter就可以,所以我刚刚才问是不是需要后端支持。
        5
    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;
    }
    }
        6
    yangg   2012-09-26 15:00:29 +08:00
    加上proxy_set_header Host zhekoujie.cloudfoundry.com;
    试试
        7
    cdredfox   2012-10-24 13:28:24 +08:00
    我加上这个设置后,还是一样的,404找不到的错
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2553 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 41ms · UTC 14:46 · PVG 22:46 · LAX 06:46 · JFK 09:46
    ♥ Do have faith in what you're doing.