メタベース プロパティ DisableSocketPooling を設定しても有効にならない

文書翻訳 文書翻訳
文書番号: 813368 - 対象製品
すべて展開する | すべて折りたたむ

目次

現象

Microsoft Windows Server 2003 でインターネット インフォメーション サービス (IIS) 6.0 を起動すると、Web サイトに割り当てられている IP アドレスだけではなく、サーバー上のすべての IP アドレスに IIS がバインドされます。メタベース プロパティの DisableSocketPooling を True に設定していても、同様の現象が発生する場合があります。

原因

複数のアプリケーションがそれぞれ異なる IP アドレスで、同じポートを使用できるようにするには、新しいユーティリティの Httpcfg.exe を使用する必要があります。Httpcfg.exe は、Windows Server 2003 CD の Support\Tools ディレクトリにある Support.cab ファイルに含まれています。

解決方法

Microsoft Windows サポート ツールをインストールする

  1. Windows Server 2003 CD を CD-ROM ドライブまたは DVD-ROM ドライブに挿入します。
  2. メニューが表示されたら、[追加のタスクを実行する] をクリックします。
  3. [この CD を参照する] をクリックします。
  4. Support フォルダをダブルクリックします。
  5. Tools フォルダをダブルクリックします。
  6. SUPTOOLS をダブルクリックします。
  7. [Next] をクリックし、[Name] ボックスと [Organization] ボックスに情報を入力して、[Next] をクリックし、次の画面で [Install Now] をクリックします。
  8. [次へ] をもう一度クリックしてインストールを開始します。
  9. [Finish] をクリックします。

IP アドレスを IP アドレス一覧に追加する

  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。
  2. cmd と入力し、[OK] をクリックしてコマンド プロンプトを開きます。
  3. 次のコマンドを入力します。xxx.xxx.x.x は追加する IP アドレスです。
    httpcfg set iplisten -i xxx.xxx.x.x
    コマンドが正常に実行されると、Httpcfg から次のメッセージが表示されます。
    HttpSetServiceConfiguration completed with 0

    追加の状態コードについては、Httpcfg のヘルプを参照してください。
  4. IP アドレスを追加した後、次のコマンドを使用して、追加された IP アドレスを確認します。
    httpcfg query iplisten
    Httpcfg の実行結果が以下のように表示されます。
    IP :xxx.xxx.x.x

状況

この動作は仕様です。

詳細

IIS 5.0 では、メタベース プロパティの DisableSocketPooling を使用することにより、異なる IP アドレス上の同じポートにアプリケーションがアクセスできます。この値を True に設定すると、異なる IP アドレスで同じポートにアクセスするアプリケーションが、同じ Microsoft Windows 2000 インストール上で共存できます。

DisableSocketPooling は、IIS 6.0 のメタベースのスキーマ (MBSchema.xml) で有効なプロパティとして定義されているため、IIS 6.0 でも Adsutil.vbs を使用してこのプロパティを設定できますが、実際には有効になりません。IIS 6.0 の機能は、新しいカーネル レベルのドライバの HTTP.sys に組み込まれています。HTTP.sys を構成するには、Httpcfg.exe を使用する必要があります。

IIS 5.0 では、TCP リスナは Winsock です。Winsock ではソケットが使用されるため、IIS は Winsock API のパフォーマンスとスケーラビリティに依存します。IIS 4.0 では、それぞれ異なる IP アドレスを使用する Web サイトの数が多いと、リソース使用率が高くなる問題がありました。この問題を解決するために、ソケット プールが導入されています。

このスケーラビリティの問題を解決するために、IIS 5.0 ではソケット プールを使用してリソースを共有できるようにしています。ソケット プールにより、特定の 1 つのサーバー上で、2 〜 3 倍の数のサイトをそれぞれ異なる IP アドレスで実行することができます。DisableSocketPooling プロパティも IIS 5.0 で導入されており、デフォルトで IIS がリッスンするポート (ポート 80 番など) を使用する必要がある別のアプリケーションがインストールされた場合に使用します。

IIS 6.0 では、HTTP.sys が TCP リスナであり、HTTP.sys では Winsock API は使用されません。ソケットを構成することはできません。HTTP.sys では IP アドレス一覧が使用されます。デフォルトでは、この一覧は空白であり、IIS はすべての IP アドレスをリッスンします。IP アドレス一覧に追加することによって、IIS がリッスンする IP アドレスを指定することができます。

重要 : IP アドレス一覧は、HTTP サービスの起動時に読み取られます。一覧を変更する場合は、サービスを再起動する必要があります。

: HTTP サービスと HTTP SSL サービスは異なるサービスです。HTTP サービスは、サービスの一覧に表示されないため、次の手順を実行してコマンド プロンプトで再起動する必要があります。
  1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックして、cmd と入力してコマンド プロンプトを開きます。コマンド プロンプトで net stop http /y と入力し、Enter キーを押します。HTTP Secure Sockets Layer (SSL) サービスと World Wide Web Publishing Service は HTTP サービスに依存しているため、このコマンドを実行すると、これらのサービスは停止します。
  2. HTTP サービスを開始するには、コマンド プロンプトで net start w3svc と入力します。これにより、HTTP SSL サービスと HTTP サービスが開始します。
IP アドレスを IP アドレス一覧に追加した後、Web サイトで使用される各 IP アドレスを追加する必要があります。一覧にない IP アドレスに Web サイトをバインドしても、Web サイトは起動しません。

関連情報

このコマンドの使用に関するヘルプは、Httpcfg のオンライン ヘルプを参照してください。Httpcfg のオンライン ヘルプを表示するには、コマンド プロンプトで Httpcfg /? と入力するか、以下の手順を実行します。
  1. [スタート] ボタンをクリックします。
  2. [すべてのプログラム] をクリックします。
  3. [Windows Support Tools] をクリックします。
  4. [Support Tools Help] をクリックします。
  5. [Alphabetical List of Tools by File Name] の [H] をクリックします。
  6. [Httpcfg.exe ( HTTP Configuration Utility)] をクリックします。
DisableSocketPooling の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
238131 ソケット プールを無効にする方法

プロパティ

文書番号: 813368 - 最終更新日: 2006年1月10日 - リビジョン: 4.0
この資料は以下の製品について記述したものです。
  • Microsoft Internet Information Services 6.0
キーワード:?
kbhowto KB813368
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"
サポート期間が終了した「サポート技術情報」資料に関する免責事項
この資料は、マイクロソフトでサポートされていない製品について記述したものです。そのため、この資料は現状ベースで提供されており、今後更新されることはありません。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com