web-dev-qa-db-ja.com

IIS 7でSSL証明書が異なる複数のWebサイトを追加する

IIS 7サーバーで2つの異なるWebサイトにSSLを使用する際に問題が発生しました。以下のセットアップを参照してください。

ウェブサイト1:my.corporate.portal.com

ウェブサイト1のSSL証明書:*。corporate.portal.com

https/443がmy.corporate.portal.comにバインドされました

website2:client.portal.com発行されたSSL証明書:client.portal.com IIS7でhttpsをクライアントの証明書にバインドしようとすると、ホスト名(グレー表示)を入力するオプションがありません。 'client.portal.com'証明書を選択すると、IISで次のエラーが発生します。

At least one other site is using the same HTTPS binding
and the binding is configured with a different certificate.
Are you sure that you want to reuse this HTTPS binding 
and reassign the other site or sites to use the new certificate?

「はい」をクリックすると、my.corporate.portal.comWebサイトは適切なSSL証明書の使用を停止します。

何か提案してもらえますか?

4
Timka

通常、SSLサイトごとに個別のIPが必要であるため、同じIPにバインドしようとすると、上記のエラーが表示されます。

これはSSLの動作方法によるものです。サーバーは、ハンドシェイクプロセス中にHTTPホストヘッダーを読み取ることができないため、そのヘッダー情報を使用して、使用するサイト(および証明書)を選択することはできません。したがって、IISの証明書は、基本的にサイトごとではなくIPごとにバインドされます。

複数のサイトに適用されるワイルドカード証明書またはASN証明書がある場合は、次のように設定できます。

  1. 証明書をIPの最初のサイトにバインドする
  2. ホストヘッダーサイトの場合、inetsrvフォルダーで次のコマンドを実行します。appcmd set site /site.name:"<IISSiteName>" /+bindings.[protocol='https',bindingInformation='*:443:<hostHeaderValue>']

およびを適切な値(Website1やwww.example.comなど)に置き換えます。

[〜#〜] sni [〜#〜] IIS8でサポートされており、同じIP上で複数の無関係なSSLサイトを許可します。 SNIは最新のブラウザでのみサポートされているため、Windows XPユーザーが古いバージョンのInternet Explorerを実行しているなど、幅広いユーザーが参加する商用サイトを実行している場合は、問題が発生する可能性があります。

6
phoebus