SharePoint Server 中已指定主機的網站集合架構與部署

 

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

**上次修改主題的時間:**2017-08-18

**摘要:**規劃和實作 SharePoint 2013 和 SharePoint Server 2016 中已指定主機的網站集合,以及了解路徑型網站集合如何影響您的環境。

主機命名型網站集合是在 SharePoint Server 中部署網站較好的方法。因為 Office 365 環境使用主機命名型網站集合,所以新功能已針對這些網站集合進行最佳化,而變得更加可靠。了解如何規劃並實作主機命名型網站集合、設計其 URL,以及管理其 URL。

本文內容:

  • 主機命名型網站集合的架構與設計

    • 主機命名型網站集合的建議架構

    • 主機命名型網站集合與路徑型網站集合的比較

    • 設計及管理主機命名型網站集合的 URL

    • 使用路徑型網站集合的時機

    • 使用主機標頭與主機命名型網站集合

    • 在同一個 Web 應用程式中混合使用主機名稱型網站集合與路徑型網站集合

  • 主機命名型網站集合的部署與設定

    • 建立主機命名型網站集合的 Web 應用程式

    • 建立根網站集合

    • 建立主機命名型網站集合

    • 將受管理路徑與主機命名型網站集合搭配使用

    • 將 URL 對應至主機命名型網站集合

    • 設定主機命名型網站集合的 SSL 憑證

    • 將主機命名型網站集合與 SSL 的離線方塊終止搭配使用

    • 以多個區域啟用環境中的應用程式

  • 將路徑型網站集合移轉至主機命名型網站集合

    • 判斷現有 Web 應用程式中的主機命名型網站集合

    • 將路徑型網站集合轉換至主機命名型網站集合

  • 將多個 Web 應用程式與主機命名型網站集合搭配使用

    • 以主機命名型網站集合建立多個 Web 應用程式

    • 為主機命名型網站集合建立多個 Web 應用程式

    • 在 IIS 中新增虛擬 IP 位址

主機命名型網站集合的架構與設計

主機命名型網站集合可讓您指派專屬 DNS 名稱給網站集合。例如,您可以將它們的位址寫成 http://TeamA.contoso.com 和 http://TeamB.contoso.com。這可讓您在同一個 Web 應用程式中,部署許多具有專屬 DNS 名稱的網站。它也可讓主控者將環境延伸到許多客戶。如果不使用主機命名型網站集合,SharePoint Web 應用程式將包含許多具有相同主機名稱 (DNS 名稱) 的路徑型網站集合。例如,小組 A 具有位址為 https://contoso.com/sites/teamA 的網站集合,而小組 B 具有位址為 https://contoso.com/sites/teamB 的網站集合。

除非有需求指出必須使用搭配了備用存取對應的路徑型網站 (本文稍後將有相關說明),否則建議使用主機命名型網站集合。本文說明如何以搭配了 SharePoint Server 的建議組態,實作主機命名型網站集合。以下文章的內容最後會有進階組態資訊:<將多個 Web 應用程式與主機命名型網站集合搭配使用>。

主機命名型網站集合的建議架構

建議的網站部署組態是使用主機命名型網站集合,其中所有網站都位於單一 Web 應用程式中,如下圖所示。

主機命名型網站集合的建議組態

這個圖表顯示適用於已指定主機名稱之網站集合的建議設定

圖中的建議組態包含下列元素:

  • 一個應用程式集區,用於網站集合。

  • 一個 Web 應用程式,用於一個應用程式集區內裝載的網站集合。

  • 一個根網站集合 (http://webapp.contoso.com)。

  • 多個主機命名型網站集合,用以裝載含有範例網站的內容:

    • 發佈的內部網路內容 (http://intranet.contoso.com),具有 HR、廠房和採購部門的子網站。

    • 小組網站 (http://teams.contoso.com),具有小組 1、小組 2 和小組 3 的子網站。

    • 我的網站,具有下列格式的網站 URL:webapp.contoso.comhttp://my.contoso.com/personal/<site_name>。

就此範例而言,Web 應用程式中的網站數目與網站 URL 並不重要。

建立主機命名型網站集合的 Web 應用程式時,Web 應用程式和根網站集合的 URL 將會是 http://< webapp.contoso.com>/。

Web 應用程式與根網站集合的 URL。

建議使用此架構來部署網站,因為其與 Office 365 環境使用的架構相同。因此,這是最常測試的組態。新功能 (包括應用程式模型與要求管理) 已針對此組態最佳化,因此此組態是未來最可靠的設定。

建議的組態不包含下列元素:

  • 以多個區域啟用環境中的應用程式。

  • 混合使用主機命名型網站集合與路徑型網站集合 (根網站集合除外)。

  • 多個具有主機命名型網站集合的 Web 應用程式

主機名稱網站集合與路徑型網站集合的比較

使用主機命名型網站集合時,Web 應用程式中的每個網站集合都會獲得專屬的 DNS 名稱。在單一 Web 應用程式中部署許多主機命名型網站集合,可增加伺服器陣列的延展性,因為資源不會被用來支援多個應用程式集區和 Web 應用程式。

SharePoint Server 可支援主機命名型網站集合和路徑型網站集合。下表詳述這兩個選項的差異,並提供主機命名型網站集合的更多資訊。

表:主機命名型網站集合與路徑型網站集合的比較

主機命名型網站集合 路徑型網站集合

建立網站

您可以使用 Microsoft PowerShell 建立主機命名型網站集合。無法使用管理中心建立主機命名型網站集合。

您可以使用管理中心或 PowerShell 建立路徑型網站集合。

URL

Web 應用程式中的每個主機命名型網站集合都會獲得專屬 DNS 名稱。

您可以使用區域,最多指派五個 URL 給主機命名型網站,包括虛名 URL 在內。

Web 應用程式中的所有路徑型網站集合皆具有與 Web 應用程式相同的主機名稱 (DNS 名稱)。您可以擴充 Web 應用程式來實作最多五個區域,並為每個區域建立不同的主機名稱。不過,區域的主機名稱會套用至 Web 應用程式內的所有網站集合。

根網站集合與搜尋

根網站集合為在 Web 應用程式中編目內容時之所需。根網站集合可以是使用者無法存取的網站集合。

Web 應用程式中通常以單一路徑型網站集合作為根網站集合。您可以使用受管理路徑,在 Web 應用程式中建立其他網站集合。

URL 對應

使用 PowerShell 命令來管理 URL (Set-SPSiteURL、Remove-SPSiteURL、Get-SPSiteURL)。

使用備用存取對應來管理 URL。

自助網站架設

若要以主機命名型網站集合進行自助網站架設,您需要使用自訂的解決方案。

SharePoint Server 預設安裝的自助網站架設功能並不適用於已指定主機的網站集合。

使用 SharePoint Server 預設安裝的自助網站架設功能時,會建立路徑型網站。

受管理路徑

主機命名型網站集合的受管理路徑是在伺服器陣列層級套用,並且可用於所有 Web 應用程式。

您必須使用 PowerShell 建立主機命名型網站集合的受管理路徑。

路徑型網站的受管理路徑是在 Web 應用程式層級套用。

您可以使用管理中心或 Microsoft PowerShell 建立路徑型網站集合的受管理路徑。

設計及管理主機命名型網站集合的 URL

PowerShell Cmdlet 可管理主機命名型網站集合的 URL 對應,並讓您將 URL 對應至單一網站集合:

  • Set-SPSiteUrl - 新增或變更網站的 URL 對應。

  • Remove-SPSiteUrl - 移除網站的 URL 對應。

  • Get-SPSiteUrl - 查看網站集合的所有 URL 和相關區域。

以上 Cmdlet 可提供主機命名型網站集合的 URL 對應功能,類似於備用存取對應。

區域與主機命名型網站集合

主機命名型網站集合可透過任何區域提供。主機命名型網站集合並不侷限於預設區域。如有需要,您可以實作多個區域,並使用區域及主機命名型網站集合來設定不同的驗證設定或原則。

注意

若要使用不同的區域,您必須擴充現有的 Web 應用程式。

您可以每個區域各指派一個 URL,以最多指派五個 URL 給單一網站集合。即使您僅實作一個區域來遵循建議的架構,仍可以指派最多五個 URL 給主機命名型網站集合。這是因為如果未擴充 Web 應用程式來實作某個區域,則 SharePoint Server 會使用預設區域。

例如,下列 URL 皆可用來存取同一個網際網路網站:

搜尋編目帳戶必須能夠使用整合式 Windows 驗證 (NTLM 或 Kerberos) 透過「預設」區域來存取內容。由於宣告驗證允許一個區域使用多種驗證類型,因此這項需求應該不會影響其他驗證需求。

受管理路徑與主機命名型網站集合

設給同一個網站集合的 URL 雖然可以具有不同的配置和網域,但必須具有相同的受管理路徑,也就是說,網域後的 ‘/’ 後的所有路徑皆必須相同。例如,https://www.Contoso.com/sites/Site1 和 http://www.Fabrikam.com/sites/Site1 可指向同一個網站集合,但是 https://www.Contoso.com/sites/Site1http://www.bar.com/sites/Project1 則否。

用來管理 URL 的 Cmdlet 只會對主機名稱的根網站集合 (例如 https://www.Contoso.com) 執行。這些 Cmdlet 不會在根目錄下的受管理路徑網站集合 (例如 https://www.Contoso.com/sites/Project1) 執行。位於主機命名型網站集合根目錄下的網站,將繼承該根主機命名型網站集合的 URL 設定。

將 SSL 的離線方塊終止用於主機命名型網站集合

SSL 的離線方塊終止是指,Proxy 伺服器終止 SSL 要求,然後使用 HTTP 將要求轉送至網頁伺服器。若要對主機命名型網站集合達成 SSL 的離線方塊終止,將 SSL 連線終止的裝置 (例如反向 Proxy 伺服器) 必須能夠產生自訂 HTTP 標頭:Front-End-Https: On。如需詳細資訊,請參閱本文稍後的<將主機命名型網站集合與 SSL 的離線方塊終止搭配使用>。

主機命名型網站集合所用的通訊協定取決於您當初使用 Set-SPSiteURL Cmdlet 將 URL 對應至特定區域時所指定的 Url 參數值:http 或 https。請確定 Web 應用程式、SSL 憑證、反向 Proxy 設定和其他任何必要設定的 IIS 繫結皆完整。

使用路徑型網站集合的時機

儘管我們建議在大多數架構中使用主機命名型網站集合,但若有適用下列任一條件的情況,則應該使用傳統路徑型網站集合及備用存取對應:

  • 您必須使用屬於 SharePoint Server 預設安裝一部分的自助網站架設功能。

    這不適用於自訂自助網站架設解決方案。

  • 需要 SSL 終止,但是無法設定您的 SSL 終止裝置以產生必要的自訂 HTTP 標頭。

    如果不需要 SSL 終止,您仍然可以使用 SSL 橋接主機命名型網站集合與這些裝置。

  • 您想使用不同的應用程式集區,以取得這些應用程式集區所提供的額外安全性,或您需要使用多個 Proxy 群組。

    在這些情況下,您可以使用主機命名型網站集合。不過,跨多個 Web 應用程式來對應主機命名型網站集合的 URL 所需要的其他設定,遠超過使用主機命名型網站集合的好處。如需詳細資訊,請參閱<將多個 Web 應用程式與主機命名型網站集合搭配使用>。如需如何建立路徑型網站集合的詳細資訊,請參閱<在 SharePoint Server 中建立網站集合>。

使用主機標頭與主機命名型網站集合

主機標頭可讓網頁伺服器在相同的 IP 位址與連接埠組合裝載多個網站。如果傳入的 HTTP 要求包含主機標頭名稱,並且 IIS 中已設定相符的主機標頭,則 IIS 會以適當網站中的內容回應。

主機標頭是在 Web 應用程式 (IIS 網站) 層級設定,且為其中一個網站繫結屬性。

了解 IIS 與已指定主機的網站集合中的主機標頭有何差異相當重要。IIS 網站層級的主機標頭僅預定用於路徑型網站集合。

使用已指定主機的網站集合時,SharePoint 負責根據透過 IIS 傳入的要求,將位址解析成正確的網站。在大部分情況下,在 IIS 網站層級套用主機標頭繫結後,將無法透過 IIS 網站存取已指定主機的網站集合。這是因為當要求是索取與主機標頭繫結不同的主機名稱時,IIS 就不會回應。

重要

如果現有的 Web 應用程式已設定主機標頭,IIS 將不會從已指定主機的網站集合傳回網頁,直到您從 IIS 移除繫結為止。如需詳細資訊,請參閱<更新 SharePoint Server 的 Web 應用程式 URL 和 IIS 繫結>。

在同一個 Web 應用程式中混合使用主機名稱型網站集合與路徑型網站集合

您可以在同一個 Web 應用程式中使用主機命名型網站集合和路徑型網站集合。若要確保這兩種類型的網站集合皆可供使用者存取,請勿將主機標頭繫結置於 Web 應用程式的 IIS 網站上,包括從 Web 應用程式擴充的區域本身的 IIS 網站。如果現有的 Web 應用程式具有主機標頭繫結集,則 IIS 將不會從主機命名型網站集合傳回頁面,除非您從 IIS 移除繫結。

我的網站

當您對「我的網站」同時使用這兩種類型的網站集合時,請考慮實作您專屬的佈建程序以將「我的網站」建立為主機命名型網站,而非路徑型網站。

主機命名型網站集合的部署與設定

建立主機命名型網站集合的 Web 應用程式

如果您不想設定兩個以上的 IIS 網站,並讓這些網站共用同一個伺服器上的同一個連接埠號碼,請在預設區域中建立 Web 應用程式。請勿在 IIS 網站層級套用主機標頭繫結。

若要建立已指定主機的網站集合的 Web 應用程式

  1. 確認您具備下列成員身分:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 待更新之所有資料庫上的 db_owner 固定資料庫角色。

    • 您正在執行 Microsoft PowerShell Cmdlet 之伺服器上的管理員群組:

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 開啟 [SharePoint 管理命令介面]。

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

    New-SPWebApplication -Name 'Contoso Sites' -port 80 -ApplicationPool ContosoAppPool -ApplicationPoolAccount (Get-SPManagedAccount 'Contoso\JDoe') -AuthenticationProvider (New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication)
    

建立根網站集合

根網站集合是任何 Web 應用程式都需要有的項目。它也是編目內容時需要有的項目。此網站集合必須具有與 Web 應用程式相同的 URL。目前,SharePoint 會防止以與 Web 應用程式相同的 URL 建立主機命名型網站集合。因此,根網站集合會建立為路徑型網站集合。

包含根網站的 Web 應用程式。

以下範例建立此根網站集合的空網站集合:

New-SPSite 'http://<servername>' -Name 'Portal' -Description 'Portal on root' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'

只有 Web 應用程式的根網站集合會出現在內容來源中。即使 Web 應用程式中所有其餘主機命名型網站集合未出現在內容來源中,搜尋作業預設還是會自動編目其餘主機命名型網站集合。

建立主機命名型網站集合

您必須使用 Microsoft PowerShell 來建立已指定主機的網站集合。您不可使用 SharePoint Server管理中心 Web 應用程式來建立已指定的網站集合,但是您可以在建立之後,使用 管理中心 管理網站集合。

您可以使用帶有 -HostHeaderWebApplication 參數之 Microsoft PowerShell New-SPSite Cmdlet 來建立已指定主機的網站集合,如以下範例所示:

建立已指定主機的網站集合

  1. 確認您具備下列成員身分:

    • SQL Server 執行個體上的 securityadmin 固定伺服器角色。

    • 待更新之所有資料庫上的 db_owner 固定資料庫角色。

    • 您正在執行 Microsoft PowerShell Cmdlet 之伺服器上的管理員群組:

    系統管理員可以使用 Add-SPShellAdmin Cmdlet 授與使用 SharePoint Server Cmdlet 的權限。

    注意

    如果您不具備上述權限,請連絡安裝程式系統管理員或 SQL Server 系統管理員要求權限。如需 PowerShell 權限的其他資訊,請參閱 Add-SPShellAdmin

  2. 開啟 [SharePoint 管理命令介面]。

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

    New-SPSite 'http://portal.contoso.com' -HostHeaderWebApplication (Get-SPWebApplication 'Contoso Sites') -Name 'Portal' -Description 'Customer root' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'
    

這會在具備 http://webapp.contoso.com 之 URL 的 SharePoint Server Web 應用程式中,建立具備 http://webapp.contoso.com 之 URL 的已指定主機的網站集合。

將受管理路徑與主機命名型網站集合搭配使用

您可以將受管理路徑與主機命名型網站集合搭配實作。主控者可透過共用客戶的唯一主機名稱 (但與主機名稱之後的 URL 路徑有所區別) 的每一個網站集合,提供多個網站集合給同一位客戶。每一個伺服器陣列之主機命名型網站集合的受管理路徑限制為 20。如需詳細資訊,請參閱<Web 應用程式限制>。

主機命名型網站集合的受管理路徑與路徑型網站集合的受管理路徑在行為上有所不同。無論主機命名型網站集合是否在 Web 應用程式中,主機命名型網站集合的受管理路徑皆可用於伺服器陣列中的所有主機命名型網站集合。相反地,路徑型網站集合的受管理路徑僅適用於相同 Web 應用程式中的網站。路徑型網站集合的受管理路徑不適用於其他 Web 應用程式中的路徑型網站集合。單一類型網站集合的受管理路徑不適用於其他類型的網站集合。

若要建立受管理路徑,您必須先建立具有想要之基底 URL的網站集合。例如,若要建立 http://teams.contoso.com/*finance*,您必須先建立 http://teams.contoso.com 的網站集合。

若要建立受管理路徑以用於主機命名型網站集合,請使用帶有 HostHeader 參數的 PowerShell  New-SPManagedPath Cmdlet,如以下範例所示:

New-SPManagedPath 'departments' -HostHeader

您也可以使用 Explicit 參數建立明確的受管理路徑。

以下範例顯示在受管理路徑建立的已指定主機的網站集合:

New-SPSite 'http://portal.contoso.com/departments/marketing' -HostHeaderWebApplication (Get-SPWebApplication 'Contoso Sites') -Name 'Marketing' -Description 'Portal Marketing' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'

若要移除現有的受管理路徑,請使用 PowerShell  Remove -SPManagedPath Cmdlet,如以下範例所示:

Remove-SPManagedPath 'departments' -HostHeader

即使網站集合存在,您可以使用 PowerShell 來移除受管理路徑。如果您移除受管理路徑,則無法再存取網站集合。若要存取現有的網站集合,請使用 PowerShell 以重新建立受管理路徑。

將 URL 對應至主機命名型網站集合

當您建立新的主機命名型網站集合時,預設的備用存取對應仍會存在,但無法使用。請使用 PowerShell 命令來管理主機命名型網站集合的 URL 對應。

將對應新增至現有網站:

Set-SPSiteUrl (Get-SPSite 'http://teams.contoso.com') -Url 'http://teamsites.contoso.com' -Zone Intranet

每一個 URL 對應會套用至單一區域。當您對應 URL 時,請使用以下其中一個區域名稱:

  • 預設

  • 內部網路

  • 網際網路

  • 自訂

  • 外部網路

如果您未指定 Zone 參數,且 URL 對應項目是新的,則會使用預設區域。您還會有唯一的網站集合 5 個 URL 的限制。

移除網站的對應:

Remove-SPSiteUrl 'http://teamsites.contoso.com'

顯示網站的所有 URL 對應:

Get-SPSiteUrl -Identity (Get-SPSite 'http://teams.contoso.com')

設定主機命名型網站集合的 SSL 憑證

您可以設定使用 SSL 的單一 Web 應用程式,然後在該 Web 應用程式中建立多個主機命名型網站集合。若要在整個 SSL 瀏覽網站,您必須安裝並指派憑證至 IIS 網站。Web 應用程式中的每一個主機命名型網站集合將共用您指派至 IIS 網站的單一伺服器憑證。

您必須取得萬用字元憑證或主體別名 (SAN) 憑證,然後使用符合該憑證之主機命名型網站集合 URL 格式。例如,如果您取得 *.contoso.com 萬用字元憑證,必須產生主機命名型網站集合 URL (例如 https://site1.contoso.com、https://site2.contoso.com 等等),讓這些網站可通過瀏覽器 SSL 驗證。然而,如果您需要網站的唯一第二層網域名稱,則必須建立多個 Web 應用程式,而非多個主機命名型網站集合。

若要針對主機命名型網站集合設定 SSL,請在建立 Web 應用程式時啟用 SSL。這將會建立帶有 SSL 繫結而非 HTTP 繫結的 IIS 網站。建立 Web 應用程式之後,請開啟 IIS 管理員並指派憑證給該 SSL 繫結。接著,您可以在該 Web 應用程式中建立網站集合。

如果您要將多個區域與主機命名型網站集合搭配實作,請確保憑證與繫結 (SSL 或 HTTP) 的設定適用於每一個區域和對應的 IIS 網站。

將主機命名型網站集合與 SSL 的離線方塊終止搭配使用

您可以將主機命名型網站集合與 SSL 的離線方塊終止搭配使用。將 SSL 終止與主機命名型網站集合搭配使用有數種要求:

  • 至少一個 IIS 網站應該在連接埠 80 (或者是終端子轉送要求的目標連接埠) 上具備繫結。Microsoft 建議您將 Web 應用程式的 IIS 網站 (或者是適用於 Web 應用程式之區域的 IIS 網站) 與 HTTP/80 搭配使用。

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

  • 如果用戶端 SSL 要求已傳送至預設 SSL 連接埠 (443),則 SSL 終端子或反向 Proxy 必須將加密的 HTTP 要求轉送至預設 HTTP 連接埠 (80) 上的前端網頁伺服器。如果用戶端 SSL 要求已傳送至非預設 SSL 連接埠,則 SSL 終端子或反向 Proxy 必須將加密的 HTTP 要求轉送至同一個非預設連接埠的前端網頁伺服器。

  • 終止 SSL 連線的裝置 (例如反向 Proxy 伺服器) 必須能夠產生自訂 HTTP 標頭:Front-End-Https: On。這是 Outlook Web Access (OWA) 使用的相同自訂標頭:Front-End-Https: On/Off。關於此自訂標頭的詳細資訊包含在稍後出現的本節中。

若要將主機命名型網站集合與 SSL 的離線方塊終止搭配使用,請像往常針對 SSL 終止一樣設定您的 Web 應用程式,並確保其符合上述需求。在此案例中,SharePoint Server 將使用 HTTPS 而非 HTTP,以在該 Web 應用程式中呈現其主機命名型網站集合的連結。

反向 Proxy 伺服器可以發佈 SharePoint Server 已指定主機的網站集合,並執行 SSL 的離線方塊終止。在此案例中,反向 Proxy 伺服器會將使用者和 SharePoint Web 前端伺服器之間的連線類型從 SSL/TLS 變更為 HTTP,反之亦然。此案例中的反向 Proxy 伺服器必須在轉送要求給 SharePoint Web 前端伺服器時,在使用者要求中插入額外的 HTTP 標頭。此額外的 HTTP 標頭表示使用者起始 SharePoint Server 的連線類型,以便 SharePoint Server 在其回應中適當呈現 URL。HTTP 標頭名稱為 "Front-End-Https",其可接受的值如下所示。

表:Front-End-Https 標頭值

描述

On

反向 Proxy 伺服器會接收透過加密 (SSL 或 TLS) HTTPS 連線的使用者要求。例如,Front-End-Https: On

Off

反向 Proxy 伺服器會接收透過未加密 HTTP 連線的使用者要求。

此值不分大小寫。例如,on、ON、On 及 oN 皆可接受。

該自訂標頭只會與主機命名型網站集合搭配使用。不會與路徑型網站集合搭配使用。

以下範例顯示在 https 建立的已指定主機的網站集合:

New-SPSite 'https://portal.contoso.com' -HostHeaderWebApplication  (Get-SPWebApplication 'Contoso Sites') -Name 'Portal' -OwnerAlias 'contoso\administrator' -language 1033 -Template 'STS#0'

此範例會在具備 http://webapp.contoso.com 之 URL 的 SharePoint Server Web 應用程式中,建立具備 http://portal.contoso.com 之 URL 的已指定主機的網站集合。

透過多個區域啟用環境中的應用程式

注意

本節僅適用於 SharePoint Server 2013

2013 年 3 月公用更新可讓您為每一個 Web 應用程式區域設定應用程式網域,並使用備用存取對應,以及主機標頭 Web 應用程式設定。此更新上市之後,您可以僅主控一個應用程式網域,而且其必須位於預設區域中。您無法使用備用存取對應或主機標頭 Web 應用程式設定上的應用程式網域。

若要解決此問題,請套用 SharePoint Server 累計更新伺服器 Hotfix 套件:2013 年 3 月 12 日,請參閱<更新 SharePoint 2013>。

將路徑型網站集合移轉至主機命名型網站集合

決定現有 Web 應用程式中的主機命名型網站集合

當您從 SharePoint Server 2010 移轉至 SharePoint Server 時,建議您判斷建立 SharePoint Server 2010 網站的方法。如果網站建立為路徑型網站,請考慮將這些網站移轉至已指定主機的網站集合。如果同時實作按主機命名與路徑型網站集合,請識別建立為路徑型網站的網站,並考慮將這些網站移轉至已指定主機的網站集合。若要完成此工作,請尋找 'HostHeaderIsSiteName' 旗標。

以下範例可判斷指定的 Web 應用程式是否已建立為按主機命名或路徑型:

$webApp = Get-SPWebapplication 'http://webapp.contoso.com'

foreach($spSite in $webApp.Sites)
{
if ($spSite.HostHeaderIsSiteName) 
{ Write-Host $spSite.Url 'is host-named' }
else
{ Write-Host $spSite.Url 'is path based' }
}

將路徑型網站集合轉換至主機命名型網站集合

您可以將路徑型網站集合轉換至主機命名型網站集合,也可以將主機命名型網站集合轉換至路徑型網站集合。您必須使用 PowerShell 備份與還原 Cmdlet 以轉換網站集合。不可使用附加與卸離,或裝載與卸載內容資料庫的 SharePoint 管理中心網站或 PowerShell Cmdlet 來轉換網站集合。

以下範例可將標準網站集合轉換至主機命名型網站集合:

Backup-SPSite -Identity 'http://portalOld.contoso.com' -Path 'c:\Backup\portalContoso.bak' -Force -UseSQLSnapShot
Restore-SPSite -Identity 'http://portal.contoso.com' -Path 'c:\Backup\portalContoso.bak' -DatabaseName 'portal_content' -Force -HostHeaderWebApplication 'http://webapp.contoso.com' -Confirm:$false

重要

您不能在 SharePoint Server 2010 環境上執行 Backup-SPSite Cmdlet,以及從 SharePoint Server 環境使用 Restore-SPSite Cmdlet。備份與還原作業必須從相同的主要產品版本進行。您可以在 SharePoint Server 轉換為已指定主機的網站集合之前,在其中移轉或附加路徑式網站集合之前,先在 SharePoint Server 2010 中將路徑式網站集合轉換為已指定主機的網站集合。

將多個 Web 應用程式與主機命名型網站集合搭配使用

如果您使用一個以上的 Web 應用程式,會對系統增加更多作業負荷和複雜度。建議您針對網站集合使用一個 Web 應用程式。不過,以下原因可能會影響您跨多個 Web 應用程式實作網站集合:

  • 組織的安全性原則需要不同的 Web 應用程式或應用程式集區。

  • Web 應用程式需要以不同方式設定。

  • 組織需要使用多個 Proxy 群組。

搭配伺服器陣列中的多個 Web 應用程式實作主機命名型網站集合,會比較複雜,因為您必須完成更多設定步驟。例如,主機命名型網站的 URL 可能會分散到共用單一伺服器陣列中相同連接埠的多個 Web 應用程式。此案例需要更多設定步驟,以確定將要求對應至正確的 Web 應用程式。您必須手動設定伺服器陣列中每部網頁伺服器上的對應,方法是設定代表每個 Web 應用程式的不同 IP 位址。您也必須建立及管理主機標頭繫結,為每個網站指定唯一的 IP 位址。指令碼可跨伺服器管理及複寫此設定,但是這麼做會增加解決方案的複雜性。每個唯一的 URL 也需要 DNS 的對應。一般而言,如果需要多個 Web 應用程式,建議改用路徑型網站集合並搭配備用存取對應。

以下兩張表格比對實作網站集合的三種不同設計選擇。這些表格可協助您了解每一種方法的結果,以及設定如何依據架構而變化。

表:佈建網站集合之不同設計選擇的結果

伺服器陣列中的所有網站合併到一個 Web 應用程式中的主機命名型網站集合 搭配備用存取對應及多個 Web 應用程式的路徑型網站集合 伺服器陣列中搭配多個 Web 應用程式的按主機命名的網站集合

網站集合佈建

使用 Microsoft PowerShell 或自訂網站集合佈建解決方案佈建網站。

使用管理中心或 Microsoft PowerShell 部署網站。

使用 Microsoft PowerShell 或自訂網站集合佈建解決方案佈建網站。

URL 管理

您可以對應 DNS 中的所有網站集合,以指向代表 Web 應用程式的單一 IP 位址。

如果您實作多個區域,則會為每個網站 URL 設定備用存取對應。每個區域也需要 DNS 的對應。

您需要其他設定,以確保共用相同連接埠之網站的要求對應至正確的 Web 應用程式。每個唯一的主機名稱也需要 DNS 的對應。此設定為手動,且必須針對每個網站,在伺服器陣列中的每部網頁伺服器上完成。

其他 URL

您最多可以對主機命名型網站集合指派五個 URL,每個區域一個。您不需要將 Web 應用程式延伸至多個區域。如果某個區域尚未實作,將會使用預設區域。

網站集合的 URL 數目限制為 5,因為這是允許的區域數目。

您最多可以對主機命名型網站集合指派五個 URL,每個區域一個。您不需要將 Web 應用程式延伸至多個區域。如果某個區域尚未實作,將會使用預設區域。

服務應用程式

陣列伺服器中的所有網站會使用單一服務應用程式群組。

您可以為不同的 Web 應用程式實作自訂服務應用程式群組。

您可以為不同的 Web 應用程式實作自訂服務應用程式群組。

區域

您不需要實作多個區域來為同一個網站集合實作不同的 URL。如果某個區域尚未實作,將會使用預設區域。

為相同網站集合實作不同 URL 所需的區域。

您不需要實作多個區域來為同一個網站集合實作不同的 URL。如果某個區域尚未實作,將會使用預設區域。

驗證

每個 Web 應用程式的驗證選項限制為五個區域。但是,您可以在一個區域中實作多種驗證方法。

您可以為每個 Web 應用程式實作不同的驗證與區域設計。

您可以為每個 Web 應用程式實作不同的驗證與區域設計。

驗證

提供網域 URL 之間的用戶端指令碼隔離。

如有需要,您可以將 Web 應用程式隔離至專用應用程式集區,以達到處理序隔離的目的。

提供網域 URL 之間的隔離。

如有需要,您可以將 Web 應用程式隔離至專用應用程式集區,以達到處理序隔離的目的。

提供網域 URL 之間的隔離。

原則

您可以使用區域以指派不同的原則至按主機命名的網站。

不論是在個別網站或文件設定權限,您可以在 Web 應用程式層級使用原則以強制執行權限。此外,您可以對不同區域實作不同原則。

不論是在個別網站或文件設定權限,您可以為不同的 Web 應用程式實作不同的原則以強制執行權限。

此外,您可以對不同區域實作不同原則。

其他也可能影響設計決策的延展性數值包括建議的網站集合、內容資料庫及管理路徑數目上限。

下表摘要說明根據本文所述之三種設計選擇之一管理 URL 所需的設定。

表:不同網站集合設計所需的設定

伺服器陣列中的所有網站合併到一個 Web 應用程式中的主機命名型網站集合 搭配備用存取對應及多個 Web 應用程式的路徑型網站集合 伺服器陣列中搭配多個 Web 應用程式的按主機命名的網站集合

在 SharePoint Server 中

  • 建立 Web 應用程式。

  • 建立使用者無法存取的根網站集合 (例如 https://HNSC01.fabrikam.com)。

  • 使用主機標頭建立主機命名型網站集合 (例如 https://intranet.fabrikam.com)。

  • (選用) 為每個網站集合新增更多 URL,並使用 Set-SPSiteUrl 設定區域。(在公司入口網站設計範例中不需要,因為只有一個區域)。

  • 使用主機標頭建立 Web 應用程式 (例如 https://intranet.fabrikam.com)。

  • (選用) 設定備用存取對應。在此設計範例中不需要,因為只有一個區域。

  • 建立根路徑型網站集合。

  • 建立 Web 應用程式。

  • 建立使用者無法存取的根網站集合 (例如 https://HNSC01.fabrikam.com)。

  • 使用主機標頭建立主機命名型網站集合 (例如 https://intranet.fabrikam.com)。

  • (選用) 為每個網站集合新增更多 URL,並使用 Set-SPSiteUrl 設定區域。(在公司入口網站設計範例中不需要,因為只有一個區域)。

在 IIS 中

為 Web 應用程式中的所有按主機命名的網站 (網域),分別關聯一個 SSL 憑證 (萬用字元憑證或 SAN 憑證)。

在 IIS 中,為每個區域分別關聯一個 SSL 憑證 (每個區域在 IIS 中屬於不同的 Web 應用程式)。

為 Web 應用程式中的按主機命名的網站 (網域),關聯一個 SSL 憑證 (萬用字元憑證或 SAN 憑證)。

在伺服器陣列的每部網頁伺服器上,以及針對共用連接埠的每個 Web 應用程式:

  • 設定代表每個 Web 應用程式的不同 IP 位址。

  • 手動編輯 IIS 網站繫結,以移除建立 Web 應用程式時所建立的主機標頭繫結,並取代為 IP 位址繫結。

如果在不同的 IP 位址上使用多個 Web 應用程式,您可能需要針對每一部伺服器的 NIC、DNS,以及負載平衡器完成其他設定。

透過主機命名型網站集合建立多個 Web 應用程式

若要在與主機命名型網站集合搭配使用的相同伺服器和連接埠上執行多個 Web 應用程式,您必須指派不同的 IP 位址給 Web 應用程式。此架構類型必須將 IP 位址新增至網路伺服器,並設定網路路由器,以將主機名稱指向其 Web 應用程式的 IP 位址。

注意

您可以建立沒有主機標頭的 Web 應用程式。如果您要建立沒有主機標頭的 Web 應用程式,則無法透過相同網頁伺服器上主機命名型網站集合建立多個 Web 應用程式。

為主機命名型網站集合建立多個 Web 應用程式的處理程序包含下列工作:

  • 建立多個 Web 應用程式。

  • 在陣列伺服器中的每一部網頁伺服器的 IIS 中新增虛擬 IP 位址。

為主機命名型網站集合建立多個 Web 應用程式

以下範例建立 Web 應用程式:

New-SPWebApplication -Name 'webapp' 'webapp.contoso.com' -port 80 -ApplicationPool ContosoAppPool -ApplicationPoolAccount (Get-SPManagedAccount 'Contoso\JDoe') -AuthenticationProvider (New-SPAuthenticationProvider -UseWindowsIntegratedAuthentication)

針對每一個 Web 應用程式重複此工作。

在 IIS 中新增虛擬 IP 位址

IP 繫結必須套用在主控 Web 應用程式的所有伺服器上。將休眠命令設定為 60 秒,先確定伺服器陣列中的所有伺服器上已設定 IP 繫結,然後才可移除 Web 應用程式上的現有主機標頭。移除指令碼可用於此工作。

使用下列命令,將唯一的 IP 繫結新增至您建立的每一個 Web 應用程式,然後將主機標頭繫結從這些 Web 應用程式中移除。

Import-Module WebAdministration
# add empty binding to webapp on IP 192.168.10.20
New-WebBinding -Name 'webapp' -IPAddress '192.168.10.20' -HostHeader '' 
Sleep 60
# remove existing binding webapp.contoso.com from existing web application
Get-WebBinding -Name 'webapp' -HostHeader 'webapp.contoso.com' | Remove-WebBinding

See also

規劃 SharePoint Server 的邏輯架構

Get-SPSiteUrl
Set-SPSiteUrl
Remove-SPSiteUrl