2008-09-22 73 views
2

我有一個ASP.NET應用程序,將承載多個租戶(軟件作爲一種服務的風格)。每個租戶都將擁有自己的域名(www.mydomain.com,www.yourdomain.com)和他們自己的SSL證書。您是否可以通過SSL在單個ASP.NET應用程序實例上託管多個租戶?

有沒有辦法託管應用程序,使所有租戶都在同一個應用程序實例

  • 我知道你可以有指向同一個共享位置的多個IIS網站,但是這是行不通的 - 這是不一樣的實例。這是不同的實例的相同應用程序
  • 我也知道你可以使用SSL通配符證書進行SSL主機頭映射,但這不起作用,因爲所有租戶都需要是同一主域的子域 - yourdomain.commondomain.com,mydomain.commondomain.com 。爲使解決方案有效,每個人都需要擁有自己的域名,而不是子域名。 (理想情況下,每個租戶也可以選擇使用EV證書,並且不能使用通配符EV證書。)
+0

你曾經爲此找到過解決方案嗎? – JoshBerke 2008-11-24 13:45:08

回答

1

您僅限於IIS - 或者可能會將軟/硬代理或內容交換硬件是一個選擇?

認爲您可以在代理或內容交換機上終止SSL - 然後將請求轉換爲您自己的內部URL。

例如將foo.com/x和bar.com/y分別翻譯成myapp/x和myapp/y - 在請求標頭中傳遞原始主機名。

3

問題是,傳統的SSL要求在Web瀏覽器指出要使用哪個主機之前顯示證書。因此,您只能爲每個IP /端口組合配置一個證書。

TLS的擴展名爲Server Name Indication,它允許瀏覽器指示要與哪個邏輯服務器進行通信。此功能是supported as of IIS 8.0 (Windows Server 2012)

通配符可以工作,因爲證書本身表示它對該域下的所有服務器都有效。

相關問題