この記事は、インターネット インフォメーション サービス (IIS) 7.0 および 7.5 の Web サイトで HTTPS 接続が失敗し、SSL バインドが削除される問題を解決するのに役立ちます。
元の製品バージョン: インターネット インフォメーション サービス
元の KB 番号: 2025598
現象
以下のシナリオについて考えてみます。
- SSL バインディングを使用して構成されたインターネット IIS 7.0 以降で実行されている Web アプリケーションがある。
- 断続的に、HTTPS 経由で Web サイトへの接続が失敗します。
- サイトが SSL 接続を要求するように構成されていない限り、ユーザーは引き続き HTTP 経由でサイトにアクセスできます。
問題が発生すると、HTTPS 経由で Web サイトを参照しようとすると、SSL 証明書の有効期限が切れているか、まだ有効ではない、または Web サイト名が正しくないという警告メッセージが表示されることがあります。 サイト管理者が IIS マネージャーを開いてサイトの SSL 設定を表示すると、Web サイトの SSL バインドが削除されているか、無効な証明書バインド情報に置き換えられている可能性があります。 最後に、次のようなイベントがシステム イベント ログに記録されます。
ログ名: システム
ソース: Microsoft-Windows-HttpEvent
日付: 3/31/2010 2:43:28 PM
イベント ID: 15300
タスク カテゴリ: なし
レベル: 警告
キーワード: クラシック
ユーザー: N/A
コンピューター: IISServer
説明:
ポートの SSL 証明書の設定が削除されました: x.x.x.x:443
原因
Web サイトの SSL バインドが削除され、置き換えられないか、削除されて無効な証明書情報に置き換えられました。 この問題は、従来の SSL 証明書ハッシュ プロパティが現在の SSL バインディングに干渉し、正しいバインディングが削除されたために発生します。
解決方法
applicationHost.config ファイルの <CustomMetaData>
セクションで次のプロパティを見つけて、削除します。
<key path="LM/W3SVC/X">
<property id="**5506**" dataType="Binary" userType="1" attributes="None" value="oXiHOzFAMOF0YxIuI7soWvDFEzg=" />
</key>
このプロパティは IIS 6.0 のレガシ機能であり、不要です。
詳細
5506
カスタム プロパティは、IIS 6.0 で SSL 証明書ハッシュを格納するために使用されました。 IIS 7.0 または IIS 7.5 の ABO マッパーに依存するアプリケーションまたはサービスが起動しようとすると、カスタム ノードとプロパティの生成を含む ABO ツリー構造の初期化が試みられます。 このプロセス中に、 <CustomMetaData>
セクションから読み取り、ABO ツリー構造のプロパティのマップを試みます。 マッピング中に、 HTTP.SYS の現在の SSL バインドを削除し、上記のレガシ ハッシュ値を使用して新しいバインドを再作成します。 この値が無効な場合、 HTTP.sysに新しい SSL バインドを追加できません。 これにより、Web サイトに有効な IP が設定されません。 HTTP.sysの SSL バインドに対応するポートの組み合わせ。 空または無効な SSL バインドでは、Web サイトへの HTTPS 接続は失敗します。
再現手順
この問題を再現するには、applicationHost.config ファイルの<CustomMetadata>
セクションに以下を追加します。
<key path="LM/W3SVC/X">
<property id="5506" dataType="Binary" userType="1" attributes="None" value="oXiHOzFAMOF0YxIuI7soWvDFEzg=" />
</key>
この操作が完了すると、ABO マッパーが必要なアプリケーションを起動します。IIS マネージャー (Inetmgr6.exe) の起動や、 ADSUTIL.vbs を使用したメタベースの列挙など この記事で説明する問題が発生します。