2011-02-05 78 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服務的良好體驗,允許定製開發的門戶網站在頂層運行。有了這個,任何人都可以建立與客戶端外觀和感覺的實際門戶。您可以提供開發和託管作爲選項。