規劃主機名稱網站集合 (SharePoint Server 2010)

 

適用版本: SharePoint Foundation 2013, SharePoint Server 2013

上次修改主題的時間: 2016-11-30

本文內容:

  • 關於主機名稱網站集合

  • 關於主機標頭

  • 建立主機名稱網站集合

  • 以程式設計方式建立主機名稱網站集合

  • 搭配主機名稱網站集合使用管理路徑

  • 透過 HTTP 或 SSL 公開主機名稱網站

  • 設定主機名稱網站集合的 SSL

  • 搭配外部 SSL 終止使用主機名稱網站集合

Microsoft SharePoint Server 2010 支援路徑型與主機名稱網站集合。路徑型網站集合與主機名稱網站集合的主要差異,在於 Web 應用程式中的所有路徑型網站集合,會共用相同的主機名稱 (DNS 名稱),而 Web 應用程式中的每個主機名稱網站集合則會被指定唯一的 DNS 名稱。

路徑型網站集合提供公司主機代管解決方案,其中所有的網站集合會共用相同之 Web 應用程式的主機名稱。在路徑型部署中,您可以在 Web 應用程式的根目錄中有一個網站集合,並在 Web 應用程式內的管理路徑下有另一個網站集合。

主機名稱網站集合提供了可調整大小的 Web 代管解決方案,並將每個網站集合指派給唯一的 DNS 名稱。在 Web 代管部署中,每個主機名稱網站集合都會有自己的虛主機名稱 URL,例如 http://customer1.contoso.com、http://customer2.contoso.com 或 http://www.customer3.com。

SharePoint Server 2010 提供兩項顯著的主機名稱網站集合增強功能:搭配主機名稱網站集合使用管理路徑的功能,以及搭配主機名稱網站集合使用外部 SSL 終止的功能。

關於主機名稱網站集合

Web 代管業者提供客戶網頁伺服器空間,來代管其本身的網站。在以路徑為基礎的 SharePoint Server 2010 環境中,這些網站通常會指派給 https://www.contoso.com/sites/customer1、https://www.contoso.com/sites/customer2 等。但是,Web 代管客戶通常會希望想要用虛的網域名稱使用自己的網站,例如 http://customer1.contoso.com、http://customer2.contoso.com 等。

支援此客戶要求的其中一個方法,是提供每位客戶他們自己的 Web 應用程式,並將客戶的唯一 DNS 名稱指定給該 Web 應用程式。但是,SharePoint Server 2010 Web 應用程式與 SharePoint Server 2010 網站集合都無法擴充。SharePoint Server 2010 支援主機名稱網站集合作為建立每個客戶之個別 Web 應用程式的替代方式。主機名稱網站集合由於可以全部在一個 Web 應用程式內,並仍然提供虛構命名功能,因此可擴充為數千個網站集合。

由於主機名稱網站集合具有單一 URL,因此不支援備用存取對應,且一律會視為在預設區域中。若您需要支援回應多個主機名稱 URL 的網站集合,請考慮搭配使用路徑型網站集合與備用存取對應,而不是使用主機名稱網站集合。佈建新的 SharePoint Server 2010 網站時,有一些需要考量的其他設定選項。在網站建立期間指定適用的網站範本,會決定新網站可以使用之預先設定的網頁組件及其他使用者介面元素。在主機代管案例中,您可能需要選取小組網站範本 (建立網站時的值為 "STS#0"),或不含任何網頁組件或預先建立清單的空白網站 (值為 "STS#1")。另請考慮在新佈建的網站集合上指定網站配額。

關於主機標頭

主機標頭是指 HTTP 通訊協定中告訴網頁伺服器用戶端連線之網站 DNS 名稱的部分。您可以在兩個不同的 SharePoint Server 2010 層級套用主機標頭:

  • Web 應用程式 (IIS 網站) 層級

  • 網站集合層級

請務必了解這兩個層級之間的差異。IIS 網站層級的主機標頭僅適用於路徑型網站集合。網站集合層級的主機標頭則僅適用於主機名稱網站集合。在大多數的情況下,於 IIS 網站層級套用主機標頭繫結,將無法透過 IIS 網站存取主機名稱網站集合。這是因為 IIS 不會回應與主機標頭繫結不同之主機名稱的要求。

路徑型網站集合與主機名稱網站集合可以在相同的 Web 應用程式中同時存在,並可存在於多個 Web 應用程式中。為確保使用者可存取這兩種網站集合類型,且您在該 Web 應用程式中具有主機名稱網站集合,請勿將主機標頭繫結置於指定給 Web 應用程式之預設區域的 IIS 網站上。您可以將主機標頭繫結套用至 Web 應用程式之其他區域中的 IIS 網站。如此可讓您使用主機名稱網站集合的預設區域,同時讓您在路徑型網站集合的其他區域中,使用備用存取對應功能。

您可以從 IIS 管理員手動修改 IIS 網站上的主機標頭繫結,但並不建議這麼做。您使用 IIS 管理員所進行的任何變更,都不會記錄在 SharePoint Server 2010 中。若 SharePoint Server 2010 嘗試在伺服器陣列中的其他電腦上,為相同的 Web 應用程式及區域佈建 IIS 網站,則會使用原始主機標頭繫結,而不會使用修改的繫結。若要修改 IIS 網站的現有繫結,請從區域中移除 Web 應用程式,然後透過您要使用的繫結,重新將 Web 應用程式延伸至區域中。

建立主機名稱網站集合

您必須使用 Windows PowerShell 建立主機名稱網站集合。您無法使用 SharePoint Server 2010 管理中心 Web 應用程式建立主機名稱網站集合,但是您可以在建立網站集合之後,使用管理中心管理網站集合。

您可以搭配使用 Windows PowerShell New-SPSite Cmdlet 與 -HostHeaderWebApplication 參數,建立主機名稱網站集合,如以下範例所示:

  1. 若要使用 Windows PowerShell 建立主機名稱網站集合,請確認符合下列基本需求:請參閱<Add-SPShellAdmin>。

  2. 在 [開始] 功能表上,按一下 [所有程式]。

  3. 按一下 [Microsoft SharePoint 2010 產品]。

  4. 按一下 [SharePoint 2010 管理命令介面]。

  5. 在 Windows PowerShell 命令提示字元 (即 PS C:\>) 處,輸入下列命令:

New-SPSite http://host.header.site.url -OwnerAlias DOMAIN\username - 
HostHeaderWebApplication https://servername

如此會在 URL 為 https://servername 的 SharePoint Server 2010 Web 應用程式中,建立 URL 為 http://host.header.site.url 的主機名稱網站集合。

以程式設計方式建立主機名稱網站集合

除了使用 Windows PowerShell 建立主機名稱網站外,您還可以使用 SharePoint Server 2010 物件模型。下列程式碼範例會在 URL 為 https://servername 的 SharePoint Server 2010 Web 應用程式中,建立 URL 為 http://host.header.site.url 的主機名稱網站集合。

SPWebApplication webApp = SPWebApplication.Lookup(new
Uri("https://www.contoso.com"));
SPSiteCollection sites = webApp.Sites;
SPSite Site = null;
Site = sites.Add("http://hoster.contoso.com", "Site_Title",
"Site_Description", 1033, "STS#0", "contoso\owner",
"Owner_Display_Name", "Owner_Email", "contoso\secondaryowner,
"Secondary_Owner_Display_Name", "Secondary_Owner_Email", true);

SharePoint Server 2010 隨附一組 Web 服務,可供各種使用者與管理工作使用。其中一個管理工作是建立新網站集合。CreateSite Web 服務方法不支援建立主機名稱網站集合。此問題的解決方法是撰寫包裝 API 範例程式碼的 Web 服務。

搭配主機名稱網站集合使用管理路徑

SharePoint Server 2010 新增搭配主機名稱網站集合使用管理路徑的支援。代管業者可以將多個網站集合提供給相同的客戶,其中每個網站集合共用客戶的唯一主機名稱,但會以主機名稱後的 URL 路徑加以區別。

主機名稱網站集合的管理路徑,與路徑型網站集合的管理路徑不同。主機名稱網站集合的管理路徑不適用於路徑型網站集合,相對地,路徑型網站集合的管理路徑亦不適用於主機名稱網站集合。不論主機名稱網站集合所在的 Web 應用程式為何,伺服器陣列內的所有主機名稱網站集合,都可以使用為主機名稱網站集合建立的管理路徑。您必須為主機名稱建立根主機名稱網站集合,才可為該主機名稱建立管理路徑主機名稱網站集合。

您可以使用 Windows PowerShell New-SPManagedPath Cmdlet 與 -HostHeader 參數,建立用於主機名稱網站集合的管理路徑,如以下範例所示:

New-SPManagedPath pathname -HostHeader

以下範例顯示在管理路徑建立的主機名稱網站集合:

New-SPSite http://host.header.site.url/pathname/sitename -OwnerAlias DOMAIN\username -HostHeaderWebApplication https://servername

透過 HTTP 或 SSL 公開主機名稱網站

主機名稱網站集合使用與其 Web 應用程式的預設區域中之公用 URL 相同的通訊協定配置。若要透過 HTTP 提供 Web 應用程式中的主機名稱網站集合,請確定 Web 應用程式之預設區域中的公用 URL 是 HTTP 型 URL。若要透過 SSL 提供 Web 應用程式中的主機名稱網站集合,請確定 Web 應用程式之預設區域中的公用 URL 是 HTTPS 型 URL。

與舊版不同的是,SharePoint Server 2010 不支援同時使用 HTTP 型 URL 與 SSL 型 URL 的主機名稱網站集合。若某些主機名稱網站集合需要透過 HTTP 提供,而其他主機名稱網站集合需要透過 SSL 提供,請將主機名稱網站集合分為該存取類型專用之兩個不同的 Web 應用程式。在此情況下,HTTP 主機名稱網站集合應位於 HTTP 存取專用的 Web 應用程式中,而 SSL 主機名稱網站集合應位於 SSL 存取專用的 Web 應用程式中。

設定主機名稱網站集合的 SSL

在主機代管案例中,代管業者可以透過 SSL 設定單一 Web 應用程式,然後在該 Web 應用程式內建立多個主機名稱網站集合。若要透過 SSL 瀏覽至網站,必須安裝伺服器憑證,並將憑證指定給 IIS 網站。Web 應用程式中的每個主機名稱網站集合,會共用指定給 IIS 網站的單一伺服器憑證。

代管業者需要取得萬用字元憑證或主體替代名稱憑證,然後使用符合該憑證的主機名稱網站集合 URL 原則。例如,若代管業者取得 *.contoso.com 萬用字元憑證,則代管業者必須產生 https://site1.contoso.com、https://site2.contoso.com 等主機名稱網站集合 URL,讓這些網站通過瀏覽器 SSL 驗證。但是,若客戶的網站需要唯一的第二層網域名稱,代管業者必須建立多個 Web 應用程式,而不是多個主機名稱網站集合。

若要設定主機名稱網站集合的 SSL,請在建立 Web 應用程式時啟用 SSL。如此會建立 SSL 繫結的 IIS 網站,而不是 HTTP 繫結的 IIS 網站。建立 Web 應用程式之後,請開啟 IIS 管理員並將憑證指派給該 SSL 繫結。之後即可在該 Web 應用程式中建立網站集合。

搭配外部 SSL 終止使用主機名稱網站集合

由於 SharePoint Server 2010 使用 Web 應用程式之預設區域中的公用 URL,來判斷主機名稱網站集合是否會轉譯為 HTTP 或 SSL,因此您現在可以搭配外部 SSL 終止使用主機名稱網站集合。搭配使用 SSL 終止與主機名稱網站集合有 3 項需求:

  • Web 應用程式之預設區域中的公用 URL 必須是 HTTPS 型 URL。

  • SSL 結束點或反向 Proxy 必須保留用戶端的原始 HTTP 主機標頭。

  • 若將用戶端 SSL 要求傳送至預設 SSL 連接埠 (443),則 SSL 結束點或反向 Proxy 必須將解密的 HTTP 要求轉寄至預設 HTTP 連接埠 (80) 上的前端網頁伺服器。若將用戶端 SSL 要求傳送至非預設的 SSL 連接埠,則 SSL 結束點或反向 Proxy 必須將解密的 HTTP 要求轉寄至相同非預設連接埠上的前端網頁伺服器。

若要將主機名稱網站集合與外部 SSL 終止搭配使用,請依照您通常為 SSL 終止設定的方式設定 Web 應用程式,並確定其符合上述需求。在此案例中,SharePoint Server 2010 會在該 Web 應用程式中,使用 HTTPS (而不是使用 HTTP) 轉譯其主機名稱網站集合的連結。