次の方法で共有


HTTP と HTTPS の構成

WCF サービスとクライアントは、HTTP と HTTPS 経由で通信できます。 HTTP/HTTPS 設定は、インターネット インフォメーション サービス (IIS) を使用するか、コマンド ライン ツールを使用して構成します。 WCF サービスが IIS でホストされている場合、HTTP または HTTPS 設定を IIS 内で構成できます (inetmgr.exe ツールを使用)。 WCF サービスが自己ホスト型の場合、HTTP または HTTPS の設定はコマンド ライン ツールを使用して構成します。

少なくとも、URL 登録を構成し、サービスが使用する URL のファイアウォール例外を追加する必要があります。 これらの設定は、Netsh.exe ツールで構成できます。

名前空間予約の構成

名前空間の予約は、HTTP URL 名前空間の一部に対する権限を特定のユーザー グループに割り当てます。 予約は、名前空間のその部分をリッスンするサービスを作成する権限をこれらのユーザーに付与します。 予約は URL プレフィックスであり、予約は予約パスのすべてのサブパスをカバーすることを意味します。 名前空間の予約では、ワイルドカードを 2 つの方法で使用できます。 HTTP Server API のドキュメントでは、 ワイルドカードを含む名前空間要求間の解決順序について説明しています

実行中のアプリケーションでは、名前空間登録を追加するための同様の要求を作成できます。 登録と予約は、名前空間の一部をめぐって競合します。 予約は、 ワイルドカードを含む名前空間要求間の解決順に示されている解決順序に従って、登録よりも優先される場合があります。 この場合、予約は実行中のアプリケーションが要求を受信するのをブロックします。

次の例では、Netsh.exe ツールを使用しています。

netsh http add urlacl url=http://+:80/MyUri user=DOMAIN\user

このコマンドは、DOMAIN\user アカウントの指定した URL 名前空間の URL 予約を追加します。 netsh コマンドの使用方法の詳細については、コマンド プロンプトに「 netsh http add urlacl /? 」と入力し、Enter キーを押してください。

ファイアウォールの例外の設定

HTTP 経由で通信する WCF サービスを自己ホストする場合は、特定の URL を使用した受信接続を許可するために、ファイアウォール構成に例外を追加する必要があります。

SSL 証明書の構成

Secure Sockets Layer (SSL) プロトコルは、クライアントとサーバー上の証明書を使用して暗号化キーを格納します。 サーバーは、クライアントがサーバーの ID を確認できるように、接続が確立されると SSL 証明書を提供します。 サーバーは、接続の両側の相互認証を提供するために、クライアントに証明書を要求することもできます。

証明書は、接続の IP アドレスとポート番号に従って一元化されたストアに保存されます。 特別な IP アドレス 0.0.0.0 は、ローカル マシンの任意の IP アドレスと一致します。 証明書ストアでは、パスに基づいて URL が区別されないことに注意してください。 同じ IP アドレスとポートの組み合わせを持つサービスは、サービスの URL のパスが異なる場合でも、証明書を共有する必要があります。

詳細な手順については、「 方法 : SSL 証明書を使用してポートを構成する」を参照してください。

IP リッスン リストの設定

HTTP Server API は、ユーザーが URL を登録した場合にのみ IP アドレスとポートにバインドします。 デフォルトでは、HTTP Server API は、マシンのすべての IP アドレスの URL のポートにバインドします。 HTTP Server API を使用しないアプリケーションが以前にその IP アドレスとポートの組み合わせにバインドしていた場合は、競合が発生します。 IP リッスン リストを使用すると、WCF サービスは、マシンの一部の IP アドレスにポートを使用するアプリケーションと共存できます。 IP リッスン リストにエントリが含まれている場合、HTTP Server API は、リストで指定された IP アドレスにのみバインドします。 IP リッスン リストを変更するには、管理者権限が必要です。

次の例に示すように、netsh ツールを使用して IP リッスン リストを変更します。

netsh http add iplisten ipaddress=0.0.0.0:8000

その他の構成設定

WSDualHttpBinding を使用する場合、クライアント接続では、名前空間の予約と Windows ファイアウォールと互換性のある既定値が使用されます。 デュアル接続のクライアント ベース アドレスをカスタマイズする場合は、新しいアドレスと一致するようにクライアントでこれらの HTTP 設定も構成する必要があります。

HTTP Server API には、HttpCfg では利用できない高度な構成設定がいくつかあります。 これらの設定はレジストリに保持され、HTTP Server API を使用するシステムで実行されているすべてのアプリケーションに適用されます。 これらの設定の詳細については、「 IIS のレジストリ設定Http.sys」を参照してください。 ほとんどのユーザーは、これらの設定を変更する必要はありません。

こちらも参照ください