我在这里过头,请指出我是不是想把苹果与面包比较。
我想了解人们如何做这种特殊的模式(或一组模式)对我来说似乎很神奇。
注意:下面的具体问题(答案需要解决这个问题)
在DNS config中,他们要求我们将www.customer1.com(您)的CNAME设置为galaxy-ingress.meteor.com
。
这让我感到震惊,他们如何能够根据源域重定向多个站点。其中许多可能是高流量。这也应该是高效的。
只需在其设置中添加您的域名,然后将CNAME设置为他们为您提供的常量域名。完成。
注意:我对细节感到朦胧 - 转发到常量域名或
GH pages user domain
喜欢user.github.io
,不要回忆起来。
他们会给你一个知识产权来指出一个A record
,但这对我来说似乎没有时间友好。
这(就像上面的一些内容)将是最好的,即使没有自定义域,您也可以使用默认的xyz.herokuapp.com
网址。
(我可以继续这个清单)
我希望基于上面的设置
效果:我的意思是,如果可以在DNS层完成,那么您不会在应用层中执行此操作。
正常运行时间:我的意思是,如果服务器实例出现故障,此服务将无法停止工作
如何为website1.com和website2.com工作(请注意没有www.
)?
与www.website1.com
转发到website1.com
一样(或根据您的偏好以其他方式)
我想像谷歌应用程序一样在内部进行设置,我不希望用户在他们的DNS上进行奇特的设置,例如在他们的根目录等CNAME。
如果可能,请使用其中一个而不是竞争对手。当你通过这样做做出次优选择时,请提及。
按顺序:
可能的解决方案(我不是在寻找):
更新#1(2016年7月13日)
CNAME
s(使用cloudflare.com API,这可能在其他地方吗?),例如website1.yourwebsite.com
,那么当某人点击website1.yourwebsite.com
时,我应该知道要投放的内容基于URL(应用程序级别)然后我可以301 redirect
到实际主机?该网址在301 redirect
上发生了变化。党!更新#2(2016年7月30日)
答案 0 :(得分:1)
作为Modulus的员工,我可以提供一些洞察力,了解其工作原理。或者至少它如何在Modulus平台上运行。
我们使用传入的host header / SNI来了解将流量路由到哪个项目。我们有负载平衡器 - >主机 - >伺服系统。当您的应用程序发出请求时,它会点击我们的负载均衡器,它具有静态IP地址(或多或少)。我们的负载均衡器在内存数据库中执行主机查找,以查找应用程序的位置。负载均衡器将请求路由到项目所在的主机,然后路由到项目所在的确切伺服。一个响应来自应用程序,它从伺服回到主机,然后回到负载平衡器,负责平衡器检查一些事情(比如是否为您的项目设置了SSL),然后响应离开负载均衡器并返回到访问您的应用的人。当您查看模数项目仪表板上的项目指标“指标”部分时,“响应时间”图表显示了为您的应用指定路线发生此流程所需的时间。
当您将自定义域放入混合中时,其工作原理基本相同。您设置DNS以使用“A记录”将您的域解析为我们的负载均衡器。您也可以使用CNAME,但我认为A记录效果最佳。使用A记录,您可以定义所有流量首先路由到哪个负载均衡器。这可能会影响像x-forwarded-for这样的事情。您可以在我们的服务here上详细了解如何使用自定义域名。我们可以更深入地了解这一部分,但在“自定义域名”文章中对此进行了详细解释。
关于以编程方式设置项目/应用程序的问题,最好为每个应用程序/网站设置单独的项目。那将是最简单的。您可以创建一个以编程方式创建具有自定义域的其他项目的单个项目,但您必须对我们的CLI进行反向工程,或者等到我们发布公共API(这应该在几个月后发生)。
如果您想对CLI进行逆向工程,可以通过分析我们的开源here来实现。您必须首先执行$ modulus token create
在CLI中创建令牌,然后您可以使用它来向https://api.onmodulus.net/<XYZ or project etc>?create&authToken=<authToken goes here>
发送API请求
如果您想聊聊更多,可以随时在Meteor Chef Slack小组中找到我,您可以加入here。
我希望这些基本信息可以为您解决这个问题提供一些方向。 :)