ホスト名付きサイト コレクションの計画 (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 アプリケーション内の管理パスの下に追加のサイト コレクションを配置できます。

ホスト名付きサイト コレクションは、各サイト コレクションに一意の DNS 名を割り当てるスケーラブルな Web ホスティング ソリューションを提供します。Web ホストの展開では、各ホスト名付きサイト コレクションに、http://customer1.contoso.com、http://customer2.contoso.com、http://www.customer3.com など、独自の見せかけのホスト名 URL が割り当てられます。

SharePoint Server 2010 では、ホスト名付きサイト コレクションに 2 つの大幅な改善が加えられています。ホスト名付きサイト コレクションで管理パスを使用できるようになった点と、ホスト名付きサイト コレクションでオフボックス SSL ターミネーションを使用できるようになった点です。

ホスト名付きサイト コレクションについて

Web ホスト側は、顧客に、顧客独自の Web サイトをホストするための Web サーバー領域を提供します。パスペースの SharePoint Server 2010 環境では、一般に、これらのサイトは https://www.contoso.com/sites/customer1https://www.contoso.com/sites/customer2 に割り当てられます。しかし、Web ホスト顧客は、一般に、Web サイトを http://customer1.contoso.comhttp://customer2.contoso.com のような見せかけのドメイン名で使用する必要があります。

こうした顧客の要求に対応する 1 つの方法は、顧客ごとに専用の Web アプリケーションを用意し、各顧客の一意の DNS 名をその Web アプリケーションに割り当てることです。しかし、SharePoint Server 2010 の Web アプリケーションは SharePoint Server 2010 のサイト コレクションほどスケーラブルではありません。SharePoint Server 2010 は、顧客ごとに個別の Web アプリケーションを作成する方法の代替手段としてホスト名付きサイト コレクションをサポートしています。ホスト名付きサイト コレクションは、そのすべてを単一の Web アプリケーション内に存在させることができ、さらに見せかけの名前を設定できる機能を備えているので、何千という規模のサイト コレクションにも対応できます。

ホスト名付きサイト コレクションは単一の URL を持つので、代替アクセス マッピングをサポートしておらず、また常に既定領域内にあると見なされます。複数のホスト名 URL に応答するサイト コレクションをサポートする必要がある場合は、ホスト名付きサイト コレクションの代わりに、代替アクセス マッピング機能を備えたパスベースのサイト コレクションを検討してください。新しい SharePoint Server 2010 サイトのプロビジョニング時には、検討する追加の構成オプションがいくつかあります。適切なサイト テンプレートをサイト作成時に指定すると、事前に構成された Web パーツやその他のユーザー インターフェイス要素のうち新しいサイトで利用できるものが決まります。ホスティング シナリオでは、チーム サイト テンプレート (サイト作成時の値が "STS#0") と、Web パーツや事前作成されたリストを持たない空のサイト (値は "STS#1") のどちらかをおそらく選択することになります。また、新しくプロビジョニングされるサイト コレクションごとにサイト クォータを指定することも検討してください。

ホスト ヘッダーについて

ホスト ヘッダーとは、クライアントの接続先サイトの DNS 名を Web サーバーに指示する、HTTP プロトコルの一部を指します。ホスト ヘッダーは、SharePoint Server 2010 の 2 つの異なるレベルで適用できます。

  • Web アプリケーション (IIS Web サイト) レベル

  • サイト コレクション レベル

重要なのは、これら 2 つのレベルの違いを理解することです。IIS Web サイト レベルのホスト ヘッダーは、パスベースのサイト コレクションのみを対象とします。サイト コレクション レベルのホスト ヘッダーは、ホスト名付きサイト コレクションのみを対象とします。ほとんどの場合、IIS Web サイト レベルでバインドを行うホスト ヘッダーを適用すると、ホスト名付きサイト コレクションに IIS Web サイト経由でアクセスできなくなります。これは、ホスト ヘッダーのバインドとは異なるホスト名に関する要求に IIS が応答しないからです。

パスベースのサイト コレクションとホスト名付きサイト コレクションは、同じ Web アプリケーション内に共存でき、また複数の Web アプリケーション内に存在することもできます。両方の種類のサイト コレクションにユーザーが確実にアクセスできるようにするため、Web アプリケーション内にホスト名付きサイト コレクションが存在する場合は、その Web アプリケーションの既定領域に割り当てられた IIS Web サイトに対してホスト ヘッダー バインドを設定しないでください。Web アプリケーションの他の領域にある IIS Web サイトにはホスト ヘッダー バインドを適用できます。こうすることで、既定領域をホスト名付きサイト コレクションで使用しながら、パスベースのサイト コレクション用の他の領域で代替アクセス マッピングの機能を使用できます。

IIS Web サイトに対するホスト ヘッダー バインドは IIS マネージャーから手動で変更できますが、この方法は推奨されません。IIS マネージャーを使用して変更を行っても SharePoint Server 2010 には記録されません。SharePoint Server 2010 がファーム内の別のコンピューター上で IIS Web サイトのプロビジョニングを同じ Web アプリケーションと領域用に試みた場合は、変更されたホスト ヘッダー バインドではなく、元のホスト ヘッダー バインドが使用されます。ある IIS Web サイトの既存のバインドを変更する場合は、Web アプリケーションをその領域から削除したうえで、使用するバインドで Web アプリケーションを同じ領域に再拡張します。

ホスト名付きサイト コレクションを作成する

ホスト名付きサイト コレクションを作成するには Windows PowerShell を使用する必要があります。ホスト名付きサイト コレクションは、SharePoint Server 2010 サーバーの全体管理 Web アプリケーションでは作成できませんが、ホスト名付きサイト コレクションの作成後にサーバーの全体管理を使用して管理することはできます。

次の例に示すように、-HostHeaderWebApplication パラメーターを指定して Windows PowerShell New-SPSite コマンドレットを使用することで、ホスト名付きサイト コレクションを作成できます。

  1. Windows PowerShell を使用してホスト名付きサイト コレクションを作成するには、次の最小要件を満たしていることを確認します。Add-SPShellAdmin を参照してください。

  2. [スタート] メニューの [すべてのプログラム] をクリックします。

  3. [Microsoft SharePoint 2010 Products] をクリックします。

  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 サービスが付属しています。こうした管理タスクの 1 つとして新しいサイトの作成があります。CreateSite Web サービス メソッドはホスト名付きサイト コレクションの作成をサポートしていません。この問題の回避策は、API サンプル コードをラップする Web サービスを記述することです。

ホスト名付きサイト コレクションで管理パスを使用する

SharePoint Server 2010 では、ホスト名付きサイト コレクションに管理パスのサポートが追加されました。ホスト側は、同じ顧客に、各サイト コレクション間で顧客の一意のホスト名を共有するがホスト名の後ろの URL パスは異なる、複数のサイト コレクションを提供できます。

ホスト名付きサイト コレクション用の管理パスは、パスベースのサイト コレクション用の管理パスとは異なります。ホスト名付きサイト コレクション用の管理パスはパスベースのサイト コレクションには適用されず、パスベースのサイト コレクション用の管理パスもホスト名付きサイト コレクションには適用されません。ホスト名付きサイト コレクション用に作成された管理パスは、ホスト名付きサイト コレクションがどの Web アプリケーション内に存在するかに関係なく、そのファーム内のすべてのホスト名付きサイト コレクションで利用できます。あるホスト名で管理パスによるホスト名付きサイト コレクションを作成する前に、そのホスト名でルートのホスト名付きサイト コレクションを作成する必要があります。

次の例に示すように、-HostHeader パラメーターを指定して Windows PowerShell New-SPManagedPath コマンドレットを使用することで、ホスト名付きサイト コレクションで使用する管理パスを作成できます。

New-SPManagedPath pathname -HostHeader

次の例に、管理パスで作成されたホスト名付きサイト コレクションを示します。

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

ホスト名付きサイトを HTTP または SSL 経由で公開する

ホスト名付きサイト コレクションでは、その Web アプリケーションの既定領域にあるパブリック URL と同じプロトコル スキームが使用されます。ホスト名付きサイト コレクションを Web アプリケーション内に HTTP 経由で提供する場合は、Web アプリケーションの既定領域にあるパブリック URL が HTTP ベースの URL であることを確認してください。ホスト名付きサイト コレクションを Web アプリケーション内に SSL 経由で提供する場合は、Web アプリケーションの既定領域にあるパブリック URL が HTTPS ベースの URL であることを確認してください。

以前のバージョンとは異なり、SharePoint Server 2010 は HTTP ベースと SSL ベースの両方の URL を同時に使用するホスト名付きサイト コレクションをサポートしていません。ホスト名付きサイト コレクションの一部を HTTP 経由で、その他の部分を SSL 経由で利用できるようにする必要がある場合は、ホスト名付きサイト コレクションをアクセスの種類別に用意した 2 つの異なる Web アプリケーションに分離します。このシナリオでは、HTTP 用のホスト名付きサイト コレクションは HTTP アクセス専用の Web アプリケーション内に、SSL 用のホスト名付きサイト コレクションは SSL アクセス専用の Web アプリケーション内に存在する必要があります。

SSL をホスト名付きサイト コレクション用に構成する

ホスティング シナリオでは、ホスト側が単一の Web アプリケーションを SSL によって構成し、複数のホスト名付きサイト コレクションをその Web アプリケーション内に作成できます。SSL 経由でサイトを閲覧するには、サーバー証明書をインストールして IIS Web サイトに割り当てておく必要があります。Web アプリケーション内の各ホスト名付きサイト コレクションは、IIS Web サイトに割り当てられた単一のサーバー証明書を共有することになります。

ホスト側は、ワイルドカード証明書またはサブジェクト代替名の証明書を取得したうえで、その証明書に適合するホスト名付きサイト コレクション URL ポリシーを使用する必要があります。たとえば、*.contoso.com というワイルドカード証明書を取得する場合、ホスト側は https://site1.contoso.com、https://site2.contoso.com のようなホスト名付きサイト コレクション URL を生成して、これらのサイトがブラウザーの SSL 検証を通過できるようにする必要があります。ただし、顧客が第 2 レベルの一意なドメイン名を自らのサイトで必要としている場合、ホスト側は複数のホスト名付きサイト コレクションではなく、複数の Web アプリケーションを作成する必要があります。

SSL をホスト名付きサイト コレクション用に構成するには、Web アプリケーションの作成時に SSL を有効にします。これにより、HTTP バインドの代わりに SSL バインドを持つ IIS Web サイトが作成されます。Web アプリケーションの作成後、IIS マネージャーを開き、その SSL バインドに証明書を割り当てます。これで、その Web アプリケーション内にサイト コレクションを作成できるようになります。

オフボックス SSL ターミネーションでホスト名付きサイト コレクションを使用する

SharePoint Server 2010 は、Web アプリケーションの既定領域にあるパブリック URL を使用して、ホスト名付きサイト コレクションを HTTP として表示するか、SSL として表示するかを決定するため、オフボックス SSL ターミネーションでホスト名付きサイト コレクションを使用できるようになりました。ホスト名付きサイト コレクションで SSL ターミネーションを使用するための必要条件は 3 つあります。

  • Web アプリケーションの既定領域にあるパブリック URL が HTTPS ベースの URL である必要があります。

  • SSL ターミネータまたはリバース プロキシによって、クライアントから元の HTTP ホスト ヘッダーを保護する必要があります。

  • クライアント SSL 要求が既定の SSL ポート (443 番) に送信される場合、SSL ターミネータまたはリバース プロキシは、解読された HTTP 要求をフロントエンド Web サーバーの既定の HTTP ポート (80 番) に転送する必要があります。クライアント SSL 要求が既定でない SSL ポートに送信される場合、SSL ターミネータまたはリバース プロキシは、解読された HTTP 要求をフロントエンド Web サーバーの同じ既定以外のポートに転送する必要があります。

オフボックス SSL ターミネーションでホスト名付きサイト コレクションを使用するには、通常の SSL ターミネーションと同様に Web アプリケーションを構成して、上記の必要条件を確実に満たすようにします。このシナリオでは、SharePoint Server 2010 は、HTTP ではなく HTTPS を使用して、その Web アプリケーション内のホスト名付きサイト コレクションのリンクを表示します。