首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >像Freshbook和嘉实这样的网站是如何在不同的子域上创建独立的平台的?

像Freshbook和嘉实这样的网站是如何在不同的子域上创建独立的平台的?
EN

Stack Overflow用户
提问于 2014-07-11 11:53:47
回答 2查看 215关注 0票数 1

我正在尝试创建的网站将有每个主要管理员帐户单独的子域。对于这个问题,假设谷歌是一个客户,所以当他们注册时,我需要创建一个子域"google.mysite.com“。

然后,具有不同权限的不同个人(管理员、员工、客户)可以登录到google.mysite.com。

我正在使用Ruby on Rails作为一个平台,不知道该如何去做。什么是可靠的方法?

EN

回答 2

Stack Overflow用户

发布于 2014-07-11 12:44:00

这就是基于约束的路由可以提供帮助的地方。通过设置路由来接受任何子域,如下所示

代码语言:javascript
运行
复制
get 'photos', constraints: { subdomain: /.+/ }

然后,我们可以允许控制器基于request.subdomain执行操作。Railscast有一个很好的example

我也相信devise gem也提供类似的solution

票数 1
EN

Stack Overflow用户

发布于 2014-07-11 18:11:31

在操作方面,您需要在Ruby代码之上设置DNS和基础设施来支持这一点。

通配符子域

通配符解决方案将是最容易设置的,因为您只需要进行初始设置,任何新的子域都会落入其中。

一个Wildcard DNS记录将映射单个记录中的所有*.mysite.com

像Apache httpd和Nginx这样的Web服务器支持wildcard virtualhosts以及像Heroku这样的应用程序主机,所以你可以在一个配置下容纳所有的子域。

单个子域

单独的子域可能会在未来为负载分离或基于每个域的自定义配置提供更多的灵活性,但每次您的客户注册时都需要进行初始设置,这可能涉及到Rails应用程序之外的事情。

对于DNS记录,我会使用提供API到其管理的DNS主机,如Amazon Route 53Rackspace Cloud DNS

对于使用API config的Ruby托管,你可能会看到像Heroku这样的应用程序主机,因为我还没有在使用config API的云提供商上看到很多"web托管“服务,除非它是针对静态文件的。

内部托管

如果你想在内部托管网站,使用一个通过托管控制面板产品暴露出来的API可能会更容易一些,比如Pleskcpanel,这些产品支持开箱即用的web和DNS配置,而不是自己滚动。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24689844

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档