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

適用于:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-se訂閱版本 no-img-sopMicrosoft 365 中的 SharePoint

主機名稱網站集合是在 SharePoint Server 中部署網站的選擇性方法。 想要擁有多個網站集合的使用者,且每個網站集合都有自己的 DNS 名稱,可以選擇部署主機名稱網站集合。 否則,使用者應該部署路徑型網站集合。

了解如何規劃並實作主機命名型網站集合、設計其 URL,以及管理其 URL。

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

主機命名型網站集合可讓您指派專屬 DNS 名稱給網站集合。 例如,您可以將它們的位址寫成 http://TeamA.contoso.com and http://TeamB.contoso.com。 此範例顯示您要在相同的 Web 應用程式中部署許多具有唯一 DNS 名稱的網站。 它也可讓主控者將環境延伸到許多客戶。

本文說明如何以搭配了 SharePoint Server 的建議組態,實作主機命名型網站集合。 以下文章的內容最後會有進階組態資訊:<將多個 Web 應用程式與主機命名型網站集合搭配使用>。

部署主機名稱網站集合的建議組態是將所有主機命名網站集合放在單一 Web 應用程式內,如下圖所示。

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

Diagram that shows recommended configuration for host-named site collections

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

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

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

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

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

    • 已發佈的內部網路內容 (http://intranet.contoso.com) HR、Facilities 和 Purchase 的子網站。

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

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

Web 應用程式內的網站數目和網站的 URL 對於此範例而言並不重要。

建立主機名稱網站集合的 Web 應用程式時,Web 應用程式和根網站集合的 URL 將會是 http://<_webapp.contoso.com_>/

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

建議使用此架構來部署主機名稱網站集合,因為它與 Microsoft 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 命令來管理 、、) (Set-SPSiteUrlRemove-SPSiteUrlGet-SPSiteUrl URL。 使用備用存取對應來管理 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 雖然可以具有不同的配置和網域,但必須具有相同的受管理路徑,也就是說,網域後的 '/' 後的所有路徑皆必須相同。 例如, http://www.Contoso.com/sites/Site1http://www.Fabrikam.com/sites/Site1 可以指向相同的網站集合,但 http://www.Contoso.com/sites/Site1http://www.bar.com/sites/Project1 不能。

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

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

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

支援離線終止 SSL,但不建議這樣做,因為它會導致未加密的流量從 Proxy 伺服器傳送至 Web 服務器。

用於主機名稱網站集合的通訊協定取決於您使用 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 不會回應與主機標頭系結不同之主機名稱的要求。

您可以在 IIS 中使用萬用字元主機標頭系結,但您必須確定 Web 應用程式內的所有網站集合都符合萬用字元主機標頭模式。

重要事項

如果現有的 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 之伺服器上的 Administrators 群組。

    系統管理員可以使用 Cmdlet Add-SPShellAdmin 來授與使用 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 應用程式的需求。 編目內容也是必要的。 此網站集合的 URL 必須與 Web 應用程式相同。 目前,SharePoint 會防止建立具有與 Web 應用程式相同 URL 的主機命名網站集合。 因此,根網站集合會建立為路徑型網站集合。

A web application with a root site.

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

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 應用程式來建立主機命名網站集合,但您可以在建立網站集合之後,使用管理中心來管理網站集合。

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

若要建立主機名稱網站集合

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

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

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

    • 您執行 Microsoft PowerShell Cmdlet 之伺服器上的 Administrators 群組。

    系統管理員可以使用 Cmdlet Add-SPShellAdmin 來授與使用 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'
    

    此語法會在名為 「Contoso Sites」 的 SharePoint Server Web 應用程式中,建立具有 URL https://portal.contoso.com 的主機命名網站集合。

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

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

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

若要建立受管理路徑,您必須先建立具有想要之基底 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 憑證

重要事項

如果您使用 SharePoint Server 訂閱版本,請使用新的憑證管理功能來安裝 SSL 憑證,並將 SSL 憑證指派給您的 Web 應用程式。 此功能可讓您直接在 SharePoint 中安裝和管理 SSL 憑證,而不是在 IIS 中手動設定 SSL 憑證。

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

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

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

如果您要實作具有主機名稱網站集合的多個區域,請確定 SSL 或 HTTP) (憑證和系結的設定適用于每個區域和對應的 IIS 網站。

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

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

注意事項

支援離線終止 SSL,但不建議這樣做,因為它會導致未加密的流量從 Proxy 伺服器傳送至 Web 服務器。

  • 至少一個 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) 使用的自訂標頭相同: 前端 Https:開啟/關閉。 關於此自訂標頭的詳細資訊包含在稍後出現的本節中。

若要將主機命名型網站集合與 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 標頭值

描述
開啟 反向 Proxy 伺服器會接收透過加密 (SSL 或 TLS) HTTPS 連線的使用者要求。 例如, Front-End-Https: On
關閉 反向 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'

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

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

注意事項

本節僅適用于 SharePoint Server 2013。

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

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

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

決定現有 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 Set-SPSite,將路徑型網站集合轉換成主機名稱網站集合和主機命名網站集合, 網站重新命名之後,建議使用應用程式集區回收來強制重新整理快取。 您無法使用 SharePoint 管理中心網站或Windows PowerShell連結和卸離的 Cmdlet,或掛接和卸載內容資料庫來轉換網站集合。

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

Get-SPSite https://SP2013content.contoso.com/sites/PathBasedSiteCollection|Set-SPSite -url https://HostNamedSiteCollection.contoso.com

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

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

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

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

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

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

重要事項

SharePoint Server 訂閱版本版本 23H1 可讓使用者將萬用字元主機標頭系結指派給其 Web 應用程式。 這項新功能可協助您以下列方式搭配主機名稱網站集合使用多個 Web 應用程式:

  1. 使用者不再需要在其每個 SharePoint 伺服器上手動指派唯一 IP 位址系結給其 Web 應用程式。 執行 SPSE 版本 23H1 的使用者可以改為將萬用字元主機標頭指派給每個 Web 應用程式,這更容易管理。

  2. 指派給每個 Web 應用程式的萬用字元主機標頭必須是唯一的。 例如,Web 應用程式 1 可以是 *.internal.example.com ,Web 應用程式 2 可以是 *.external.example.com 等等。

  3. 這些 Web 應用程式中的主機名稱網站集合必須符合其 Web 應用程式的萬用字元主機標頭模式。 例如,如果 Web 應用程式具有 的 *.external.example.com 萬用字元主機標頭,則可以裝載具有 DNS 名稱的主機命名網站集合,例如 site1.external.example.comsite2.external.example.com 等。

  4. 萬用字元主機標頭系結只能有單一萬用字元作為 DNS 名稱中最左邊的標籤。 例如,有效的萬用字元主機標頭可以是 *.external.example.com ,但不能是 external.*.example.com*.*.example.comexternal*.example.com*external.example.com 等等。

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

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

  伺服器陣列中的所有網站合併到一個 Web 應用程式中的主機命名型網站集合 搭配備用存取對應及多個 Web 應用程式的路徑型網站集合 伺服器陣列中搭配多個 Web 應用程式的按主機命名的網站集合
網站集合佈建 使用 Microsoft PowerShell 或自訂網站集合佈建解決方案佈建網站。 使用管理中心或 Microsoft PowerShell 部署網站。 使用 Microsoft PowerShell 或自訂網站集合佈建解決方案佈建網站。
URL 管理 您可以將 DNS 中的所有網站集合對應至代表 Web 應用程式的單一 IP 位址。 如果您實作多個區域,則會為每個網站 URL 設定備用存取對應。 每個區域也需要 DNS 的對應。 需要額外的設定,以確保共用相同埠之網站的要求會對應至正確的 Web 應用程式。 每個唯一的主機名稱也需要 DNS 的對應。 此設定為手動,且必須針對每個網站,在伺服器陣列中的每部網頁伺服器上完成。
更多 URL 您最多可以對主機命名型網站集合指派五個 URL,每個區域一個。 不需要將 Web 應用程式擴充至多個區域。 如果未實作區域,則會使用預設區域。 網站集合的 URL 數目限制為五個,因為允許的區域數目為五。 您最多可以對主機命名型網站集合指派五個 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 應用程式的套裝程式含下列工作:

  • 建立多個 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

另請參閱

其他資源

Get-SPSiteUrl

Set-SPSiteUrl

Remove-SPSiteUrl

規劃 SharePoint Server 的邏輯架構