IIS 8.0のサイトAは、バインディング###。###。###。###:443を使用してSSL証明書に構成されています。サイトBも構成されています。 異なるバインディングが###。###。###。###:443の証明書(同じIPですが、ホスト= sub.domain.com)サイトBのバインディングについて、 SNI対応ボックスなのでIIS許可されました。
問題は、SNI対応のブラウザーからサイトBをロードすると、サイトAの証明書が提供されることです。これは、サイトAのバインディングが技術的に満たされているためだと思います。したがって、IISリクエストを処理するための他のバインディング(私はnetsh http show sslcert
コマンドは、表示順序の最初にサイトAバインディングを表示しているようですが、その順序が意味があるかどうかはわかりません。)
IISのバインド順序を変更して、最初にサイトBのSNI-ホストのバインドにリクエストをバインドしようとし、その後でサイトAの非SNIにフォールバックする方法はありますか? (IP:ポートのみ)バインディング?(レガシー互換性のために、サイトAバインディングでSNIを有効にしたくありません。)
管理ツールは、バインディングを注文できるほど一貫して動作しません。
この理由は、バインディングが順序付けを必要としないほど明確であると想定されているためだと思います。
裏で、Web管理者MMC(およびMicrosoft.Web.Administration API)は、IISサーバー構成ファイルの両方で設定を管理していることに注意してください。 および OSネットワーク層の設定で、これはレジストリにあると思います。
Netshを使用してツールが作成するバインディングを調べたところ、iis構成ファイルの順序とnetsh(netsh hhtp show sslcert)に表示される順序は、表示の順序が異なり、任意であることがわかりました。 「正しい」ドメイン用に構成しようとした証明書を取得できない場合があります。
私がやろうとしていたのは、DNSのIPアドレスで仮想サーバーのドメインを割り当て、すべてのSNI証明書に加えて、SNIのない仮想サーバーごとに1つのワイルドカード証明書を設定することでした。IPアドレスだけがデフォルトになります。仮想サーバー/ IPアドレス。
TLSバインディングルールはsomeの順序で適用されるため、しばらく設定を操作すると、これは機能するようです。これは、バインディングが追加された順序と同じまたは類似する傾向があります。一部の編集で削除と追加が行われると想定します。
ただし、netshのバインディングを見ると、iis adminバインディングに入力したものは、SNIを使用してIPアドレスを無視するか、IPアドレスを使用してドメインを無視することが明らかになります。 SNIバインディング設定のIPアドレスは、ダイアログボックスとiis構成ファイルに表示されますが、TLSを管理するネットワーク層の構成には渡されず、SNIドメインは上の任意のIPアドレスに対してその証明書を取得します。サーバー。
したがって、サーバーはどちらか SNI またはワイルドカード証明書を使用できますが、両方を使用してサービスにSNIを使用させることを試みると、最初に一致し、他のすべてにワイルドカードを使用することは実際にはありませんサポートされています。時々機能するように見えますが、構成の編集や再起動でさえ、ネットワーク層内の処理順序を変更する可能性があります。
バインディングを注文してIPアドレスとSNIルールのあいまいな組み合わせを適用したい場合、答えはノーです。一貫して予測どおりにそれを行うことはできません。 IPアドレスのすべてのドメイン/サブドメインが同じワイルドカード証明書を使用する場合、IPアドレスを使用し、SNIを使用しないように複数の仮想サーバーを設定できますが、同じIPアドレスに複数の証明書が必要な場合は、次のSNIバインディングが必要です。サーバー上の各サブドメイン。
SNI/IPアドレスまたはルールの唯一の例外は、SNIを使用している場合でも、「すべて」を選択することで、サーバー(すべての仮想サーバー)のデフォルトの証明書としてone証明書を割り当てることができることです。 IPアドレスの「unnasigned」でSNIはありません。その証明書は、すべてのIPおよびすべてのドメインに使用されますが、他の指定されたバインディングルールに一致しないリクエストにのみ使用されます。これは特殊なケースとして扱われているようです。adminMMCは、SNIをサポートしていないブラウザ用のデフォルトのhttpsバインディングがないことについて設定しないと、警告することさえあります。 。
もちろん、あなた(元の投稿者ではなく読者)がnot SNIと非SNI IPアドレスバインディングを混在させようとしているが、UIでバインディングの長いリストを管理しようとしている場合は、次のことができます。 「hostname」ヘッダーをクリックすると、元の質問のリストがその列で並べ替えられます(もう一度クリックして昇順/降順を変更します)。最初のドメインには「allunassigned」例外を使用できます。 SNIバインディングではIPアドレスが無視されるため、SNIバインディングはすでに機能的に「すべて割り当てられていません」。
IPとホスト名の両方を含む単一の証明書に使用される証明書を変更してみませんか?
念のために言っておきますが、現在のベストプラクティスは、最近のIPアドレスに対してSSL証明書を発行しないことです。もちろん、これらが内部証明書である場合は、問題は発生しません。