2012-06-14 154 views
0

是可以做以下使用nginx的重写://my-cloudfoundry.com/app/home到SUB_DOMAIN_URL = HTTP:nginx的重写规则的路由

从CTX_URL = HTTP转换的URL ://app.my-cloudfoundry.com/home

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

回答

1

这是完全可能的,事实上,我已经在使用vcap.me域的本地CloudFoundry副本上工作。 (需要在'〜/ cloudfoundry/.deployments/devbox/deploy/nginx/nginx-0.8.54/conf'中找到当前的vcap安装程序),然后在nginx.conf中添加一个简单的重写规则,在服务器块的server_name指令下面插入;

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

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

+0

谢谢丹,它的工作原理,但有一个小问题。重写将发送一个重定向请求到浏览器,有没有什么办法可以在内部路由而不发送重定向到浏览器。我正在尝试这样做,因为我无法在我尝试使用云代工的工作网络中配置子域。 – sriharsha