Saas 构建一个将出租给客户的webportal。需要架构建议吗

Saas 构建一个将出租给客户的webportal。需要架构建议吗,saas,architecture,Saas,Architecture,Iam正在构建一个web门户,该门户将以托管模式(SAAS)出租给客户,客户将在自己的域上使用整个门户功能,并拥有自己的品牌 现在我不希望他们获取我的web门户的文件,但仍然可以使用自定义品牌的门户 这里有人建议的一个解决方案是在我的服务器上托管品牌版本,并通过客户域上的Iframe托管所有版本。但是我不太喜欢这个主意 我研究发现的第二种方法是将门户托管在服务器中的新IP上,并要求客户将其域指向该IP webportal将被出售给许多客户,他们都有单独的用户界面和品牌,因此这是必要的 请告诉我你

Iam正在构建一个web门户,该门户将以托管模式(SAAS)出租给客户,客户将在自己的域上使用整个门户功能,并拥有自己的品牌

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

这里有人建议的一个解决方案是在我的服务器上托管品牌版本,并通过客户域上的Iframe托管所有版本。但是我不太喜欢这个主意

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

webportal将被出售给许多客户,他们都有单独的用户界面和品牌,因此这是必要的

请告诉我你对我的方法有什么看法,或者如果你们有更好的想法,请提出你的建议。

如果框架是邪恶的


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

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

GET / HTTP/1.1
Host: example.com
这就是大多数共享主机的工作方式。当客户将其DNS记录设置为指向您的服务器/负载平衡器时,传入的请求的标题中将包含您的客户端主机名。您是在Apache中设置虚拟主机,还是在应用程序级别设置虚拟主机,取决于您自己


为了你自己,请不要做假肢。web上有很多关于多租户应用程序体系结构的信息。

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

这使您可以为所有客户提供一个单一的IP地址(并且只提供支持该IP地址后的所有客户所需的服务器数量),而不是每个客户一个IP地址/服务器-这将节省托管成本


(注意:我越是倾向于子域方法,我越是考虑它。如果您使用HTTPS,它将允许您使用单个“*.yourdomain.com”证书,而不是试图为每个客户端域使用单独的证书。)

我的经验是,在这种情况下,您的客户将提出您可以想象的任何可能的web UI需求。因此,构建一个能够满足所有需求的web UI框架是相当困难的,事实上,这更像是一个内容管理系统

此外,对于构建web UI,您可能会遇到客户内部开发、第三方web代理或要求自己开发的任何组合


在这种情况下,我将SaaS作为实际的web服务提供给客户,让客户开发的门户在上面运行,这让我有了很好的体验。有了它,任何人都可以用客户端的外观来构建实际的门户。您可以选择开发和托管。

谢谢Aliester,我想到了这种方法。任何其他想法都是好的。“如果框架是邪恶的”。。。我完全同意。然而,我确实发现它有时很有用,尤其是当我需要使用ajax进行某种大规模文件上传时。是的,我更倾向于在我的主服务器上设置子域,并让客户端域指向它们。