Share via


ホスト名付きサイト コレクションを計画する (SharePoint Foundation 2010)

 

適用先: SharePoint Foundation 2010

この記事の内容

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

  • ホスト ヘッダーについて

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

  • プログラムによってホスト名付きサイト コレクションを作成する

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

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

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

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

Microsoft SharePoint Foundation 2010 は、パスベースのサイト コレクションとホスト名付きサイト コレクションの両方をサポートしています。パスベースのサイト コレクションとホスト名付きサイト コレクションの主な違いは、ある Web アプリケーション内にあるすべてのパスベースのサイト コレクションは同じホスト名 (DNS 名) を共有するのに対し、ある Web アプリケーション内にある各ホスト名付きサイト コレクションは一意な DNS 名に割り当てられていることです。

パスベースのサイト コレクションは、すべてのサイト コレクションで Web アプリケーションの同じホスト名が共有される企業向けホスティング ソリューションを提供します。パスベースの展開では、Web アプリケーションのルートに単一のサイト コレクションを、Web アプリケーション内の管理パスの下に追加のサイト コレクションを配置できます。

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

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

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

Web ホスト側は、顧客が独自の Web サイトをホストするための Web サーバー領域を顧客に提供します。パスベースの SharePoint Foundation 2010 環境では、通常、これらのサイトが https://www.contoso.com/sites/customer1、https://www.contoso.com/sites/customer2 のような URL に割り当てられます。ただし、Web をホストする顧客は、通常、自らの Web サイトを http://customer1.contoso.comhttp://customer2.contoso.com といったバニティ ドメイン名で利用できるようにしようとします。

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

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

ホスト ヘッダーについて

ホスト ヘッダーとは、クライアントが接続しているサイトの DNS 名を Web サーバーに知らせる部分の HTTP プロトコルを指します。ホスト ヘッダーは SharePoint Foundation 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 Foundation 2010 に記録されることはありません。SharePoint Foundation 2010 がファーム内の別のコンピューター上で IIS Web サイトのプロビジョニングを同じ Web アプリケーションと領域用に試みた場合は、変更されたホスト ヘッダー バインドではなく、元のホスト ヘッダー バインドが使用されます。ある IIS Web サイトの既存のバインドを変更する場合は、Web アプリケーションをその領域から削除したうえで、使用するバインドで Web アプリケーションを同じ領域に再拡張します。

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

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

ホスト名付きサイト コレクションは、次の例に示すように、Windows PowerShell のNew-SPSite コマンドレットと -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

これにより、http://host.header.site.url という URL を持つホスト名付きサイト コレクションが https://servername という URL を持つ SharePoint Foundation 2010 Web アプリケーション内に作成されます。

プログラムによってホスト名付きサイト コレクションを作成する

Windows PowerShell を使用してホスト名付きサイト コレクションを作成する以外に、SharePoint Foundation 2010 オブジェクト モデルを使用することもできます。次のコード サンプルは、http://host.header.site.url という URL を持つホスト名付きサイト コレクションを https://servername という URL を持つ SharePoint Foundation 2010 Web アプリケーション内に作成します。

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

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

SharePoint Foundation 2010 では、ホスト名付きサイト コレクションでの管理パスのサポートが追加されています。ホスト側は、各サイト コレクションがその顧客の一意なホスト名を共有していてホスト名の後の URL パスによって区別されるような複数のサイト コレクションを同じ顧客に対して提供できます。

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

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

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 Foundation 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 Foundation 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 アプリケーションを構成し、Web アプリケーションが上記の要件を満たしていることを確認します。このシナリオでは、SharePoint Foundation 2010 によって、HTTP の代わりに HTTPS を使用している Web アプリケーション内にあるそのホスト名付きサイト コレクションのリンクが表示されます。