2011-02-05 49 views
4

Iam构建一个门户网站,将通过托管模式(SAAS)向客户出租,他们将在这些门户网站上使用自己的域名和自己的品牌。建立一个门户网站,将出租给客户。需要架构建议

现在我不希望他们获取我的门户网站的文件,但仍然可以使用自定义品牌门户。

某人在此提出的一种解决方案是在我的服务器上托管品牌版本,并通过客户域上的Iframe托管所有版本。然而,我不太喜欢这个想法。

我研究发现的第二种方法是在我的服务器上托管新鲜IP的门户,并要求客户将他的域指向该IP。

该webportal将出售给很多客户,他们都将有单独的用户界面和品牌,所以这是必需的。

请给我建议你对我的方法有什么感想,或者如果你们有更好的想法,请填写你的建议。

回答

1

我们正在运行一个支持品牌的SAAS应用程序,我们通过动态提供CSS来完成它。如果您的所有客户都有一个指向您服务器的唯一域名,则可以通过域名选择您的CSS文件:如果客户通过“http://portal.customer.com/login”登录,则可以使用他的HTML链接到文件“/stylesheets/portal.customer.com.css”等等。或者,您可以为每个客户创建一个子域,并将它们全部指向您的主服务器,使用非常相似的代码挑选CSS。

这让你对所有的客户单一的IP地址(只有尽可能多的服务器,你需要支持所有您的客户IP地址后面),而不是一个IP地址/根据客户服务器 - 应该削减保存托管成本! (注意:我倾向于子域方法,我考虑的越多,如果你使用HTTPS,它会让你使用一个“* .yourdomain.com”证书,而不是尝试为每个客户域弄乱了单独的证书。)

+0

是的,Iam更喜欢在我的主服务器上设置子域并指向它们的客户端域。 –

4

iFrames是邪恶的。

这样说我可能会去与子域的方法。他们添加了一个像webportal.somecompany.com这样的子域,指向您并让您的Web服务器根据子域将它们路由到正确的托管应用程序实例。这样他们的www.somecompany.com仍然会去他们的网站。

+0

+1为IFrames是邪恶的。 –

+0

感谢Aliester,我想到了这种方法。任何其他想法也会很好。 –

+0

“iFrames是邪恶的”......我完全同意。但是,有时我确实发现它很有用,尤其是,如果我需要使用ajax进行某种群发文件上传。 – Skadoosh

1

您不需要为不同的客户运行不同的IP。 HTTP 1.1支持主机:像这样

GET/HTTP/1.1 
Host: example.com 

这是大多数共享主机的工作原理。当客户将他们的DNS记录设置为指向您的服务器/负载均衡器时,传入的请求将使您的客户端的主机名位于标头中。无论您是使用Apache设置虚拟主机,还是在应用程序级别执行虚拟主机,都取决于您。

请为您自己请勿做iframe。网上有很多关于多租户应用程序体系结构的信息。

0

我在这种情况下做出了这样的体验,您的客户会想出任何可能的Web UI需求。因此,构建一个能够满足所有需求的Web UI框架相当困难,实际上这更像是一个内容管理系统。此外,为了构建Web UI,您可以满足客户内部开发,第三方网络代理商的任何组合或请求自行开发它的任何组合。

在这种情况下,我提供了SaaS作为实际Web服务的良好体验,允许定制开发的门户网站在顶层运行。有了这个,任何人都可以建立与客户端外观和感觉的实际门户。您可以提供开发和托管作为选项。