我建立了一个门户网站,该门户网站将在托管模型(SAAS)上租给客户,他们将在自己的域上使用自己的品牌推广的整个门户网站功能。
现在我不希望他们获取我的门户网站的文件,但仍然可以使用自定义品牌门户网站。
有人在此建议的一个解决方案是在我的服务器上托管品牌版本,并通过客户域上的Iframe来托管所有品牌版本。但是我非常不喜欢这个想法。
我研究和发现的第二种方法是在我的服务器上托管门户网站上的新IP,并要求客户将其域名指向该IP。
Webportal将出售给很多客户,他们都将拥有单独的用户界面和品牌,因此需要这样做。
请建议我对您的方法有什么看法,或者如果您有更好的想法,请提出您的建议。
答案 0 :(得分:4)
iFrames是邪恶的。
有了这个说我可能会采用子域方法。他们添加了一个像webportal.somecompany.com这样的子域,它指向您并让您的Web服务器根据子域将它们路由到应用程序的正确托管实例。这样他们的www.somecompany.com仍然会访问他们的网站。
答案 1 :(得分:1)
您不需要为不同的客户运行不同的IP。 HTTP 1.1支持Host:像这样
GET / HTTP/1.1
Host: example.com
这是大多数共享主机的工作方式。当客户将其DNS记录设置为指向您的服务器/负载均衡器时,传入的请求将在客户端的主机名中包含您的客户端主机名。无论您是在Apache中设置虚拟主机还是在应用程序级别设置虚拟主机都取决于您。
请为自己的缘故不要做iframe。有关多租户应用程序的体系结构的网络上有很多信息。
答案 2 :(得分:1)
我们正在运行支持品牌推广的SAAS应用程序,我们通过动态提供CSS来实现。如果您的所有客户都有一个指向您服务器的唯一域名,您可以按域名选择您的CSS文件:如果客户登录“http://portal.customer.com/login”,您可以使用他的HTML链接到文件“/stylesheets/portal.customer.com.css”,依此类推。或者,您可以为每个客户创建一个子域,并将它们全部指向主服务器,使用非常相似的代码来选择CSS。
这使您可以为所有客户提供单个IP地址(并且只需要支持所有您的客户在该IP地址后面的所需服务器),而不是每个客户一个IP地址/服务器 - 应该节省托管费用!
(注意:我倾向于子域方法,我想的就越多。如果你使用HTTPS,它会让你使用一个“* .yourdomain.com”证书,而不是试图弄乱为每个客户域提供单独的证书。)
答案 3 :(得分:0)
我的经验是,在这种情况下,您的客户会想出您可以想象的任何可能的Web UI要求。因此,构建一个可以满足所有需求的Web UI框架相当困难,实际上这更像是一个内容管理系统。
此外,为了构建网络用户界面,您可以满足客户内部开发,第三方网络代理商的任意组合或要求自行开发。
在这种情况下,我提供了将SaaS作为实际Web服务提供的良好体验,允许自定义开发的门户网站在顶部运行。有了这个,任何人都可以构建具有客户端外观的实际门户。您可以选择开发和托管。