基于云代工厂上下文路由的nginx重写规则

时间:2012-06-14 04:22:26

标签: nginx cloudfoundry

可以使用nginx重写来执行以下操作:

将网址从CTX_URL = http://my-cloudfoundry.com/app/home转换为SUB_DOMAIN_URL = http://app.my-cloudfoundry.com/home

my-cloudfoundry是运行Nginx的服务器,当前可以路由SUB_DOMAIN_URL,我希望它接受CTX_URL并将其内部转换为SUB_DOMAIN_URL

1 个答案:

答案 0 :(得分:1)

这是完全可能的,事实上我已经在我使用vcap.me域的CloudFoundry本地副本上工作了。

你需要在nginx.conf中添加一个简单的重写规则(在当前的vcap安装中,它位于'〜/ cloudfoundry / .deployments / devbox / deploy / nginx / nginx-0.8.54 / conf'),下面服务器块中的server_name指令,插入;

if ($host ~* "^vcap.me$"){
  rewrite ^\/([^\/]+)\/?(.*)$ http://$1.vcap.me/$2 break;
  break;
}

显然,您需要将“vcap.me”更改为您在配置中使用的域。