可以使用 nginx rewrite 执行以下操作:
将 url 从 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
可以使用 nginx rewrite 执行以下操作:
将 url 从 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
这是完全可能的,事实上我已经在使用 vcap.me 域的本地 CloudFoundry 副本上运行它。
您需要在 server_name 指令下方的 nginx.conf 中添加一个简单的重写规则(在当前的 vcap 安装中,它位于 '~/cloudfoundry/.deployments/devbox/deploy/nginx/nginx-0.8.54/conf')在服务器块中,插入;
if ($host ~* "^vcap.me$"){
rewrite ^\/([^\/]+)\/?(.*)$ http://$1.vcap.me/$2 break;
break;
}
显然,您需要将“vcap.me”更改为您在配置中使用的域。