【发布时间】:2016-04-25 17:35:18
【问题描述】:
我有一个 Ruby on Rails 实例,它支持至少 4 个不同的网站,将来还会添加更多。这些网站分为 3 类:
- 管理门户(内网)
- 公共页面(登陆页面等)
- 应用的浏览器版本
我已经为这些(admin/、public/ 和 my/)设置了命名空间,这在我的开发环境中非常有效(例如,localhost:3000/admin)。然而,在生产中,这些站点中的每一个都将在不同的域/子域上运行。
例如:
- admin.domain.com 上的管理门户(管理命名空间)
- otherdomain.com 上的登录页面(公共命名空间)
- survey.otherdomain.com(公共命名空间)上的问卷调查
- my.domain.com 上的应用(我的命名空间)
我不希望命名空间在 URL 中显示为 URI 段,并且在子域中也不应该是必需的。我想将每个域路由到其适当的命名空间。
我想以这种方式拆分命名空间的主要原因是管理员和应用程序都使用一组非常特定的资源,所有其他(公共)网站都不需要这些资源,我希望将开发工作流程分开以及这些区域之间的代码解耦。
设置这种路由的最佳方式是什么?
PS:我在开发中使用 Webrick,在生产中使用 nginx/passsenger。我希望我不需要对 nginx 做任何激烈的事情来让它工作。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 nginx namespaces