自定义域如何在Saas应用程序中使用路由,链接和重定向?

时间:2017-03-20 17:32:50

标签: ruby-on-rails dns multi-tenant saas cname

我了解如果我希望客户能够使用指向customer.mysaasapp.com空间的自定义域,则他们必须定义一个CNAME记录,该记录将规范的customer.mysaasapp.com域别名化。

我不明白这个别名如何在请求中持续存在。例如,如果客户站点链接到其资源,它如何知道是否链接到customer.mysaasapp.com/videos域与customclientdomain.com/videos资源?单击链接后,我不希望真正的子域显示在导航栏中。这是怎么处理的?

1 个答案:

答案 0 :(得分:0)

让我试着为你解释一下。您已经知道CNAME是另一个域的规范名称。

正如您所知,当我们在浏览器地址栏中点击某个域时。浏览器询问DNS(域名服务器)发送请求的位置。 DNS匹配域名并将IP地址发送回浏览器,浏览器点击这些IP地址以获得响应。 但是,当我们希望从SAAS应用程序中的相同IP地址提供多个站点时。我们可以为每个客户定义CNAME。哪种是IP映射的替代方案。

因此,当浏览器向DNS询问提供的主机URL的地址时。 DNS会发回实际的域名/路径,并告诉浏览器它是否是正确的地址。

所以现在浏览器将请求发送到场景后面的实际域,并将HOST头设置为用户输入的提供地址。 ( customclientdomain.com/videos 适用于您的情况)。

现在服务器知道用户提供了哪个主机并做出相应的响应。

从下一个请求开始,浏览器可以实现神奇,并且模仿它是一个全新的网站。

包括WGET,CURL在内的所有现代浏览器也处理这个问题。

Here是一个包含更多细节的链接。