web-dev-qa-db-ja.com

IISはHTTPSリクエストに対して誤った証明書を提供します

理解できない状況で行き詰まっています。これが私の問題です。

信頼できる機関からSSL証明書を取得し、サーバーにインストールしました。次に、未使用のIPアドレスを使用して、ポート443でその証明書を使用するようにWebサイトを構成しました。

次に、Webサイトに移動して、機能するかどうかを確認しましたが、IISがこの要求に対して誤った証明書を提供していることがわかりました。そのため、ブラウザーは応答のレンダリングをブロックします。

IISが構成中に何か問題を起こしたと思い、次のコマンドで証明書のマッピングを確認しました:

netsh http show sslcert

証明書ハッシュを取得し、次のコマンドを実行して、証明書が必要なものかどうかを確認します。

get-item cert:\LocalMachine\My\DC0D3FF5D752CD58FD291C48F30646FD9E0D8AED

それは確かに私が必要としたものです。しかし、奇妙なことに、Webページをナビゲートすると、まだ間違った証明書を取得しています。

他にどこを見ればよいのか教えてくれますか?これの原因は何ですか?

6
tugberk

皮肉なことに、私がこの質問を投稿した後、私の愚かな頭に答えが浮かび上がってきました。 DNSホストAレコードが間違ったIPアドレスを指していたため、間違った証明書を取得していました。 DNSホストAレコードのIPアドレスを変更し、現在はすべて機能しています。

4
tugberk

上記のソリューションを使用して解決できない他の人のためにこれをフォローアップするためだけに、サーバーがHostヘッダー値を持つWebサイトへのHTTPS接続に対して誤った証明書を配信するという同様の問題が発生しました。

私の場合、実際のサーバーのIPアドレスではなく、*からの接続を受信するようにバインディングが設定されていることがわかりました。 IPアドレスにバインドされるようにバインドを変更すると、問題が解決しました。

5
Martin

同じ問題がありました。SNIを使用する複数のhttpsサイトを持つWin2012 R2サーバーで、間違った証明書を提示するhttpsウェブサイトです。

Hostsファイルを変更し、ホストヘッダーをWebサイトで使用されているIPアドレスにリダイレクトする場合でも、別のサイトからの証明書が提示されたため、DNSの問題は発生しませんでした。

判明したように、(間違った)証明書を受け取ったWebサイトには、SNIがオフになっている同じIPで1つのバインディングがあったため、この証明書は「デフォルト」の証明書として表示されたようです。

このサイトのバインドでSNIを確認すると、他のサイトの問題が解決しました。

1
BartVFF

そのため、お客様と同じような状況にありました。 IIS Windows Server 2012 R2の場合)でホストされている複数のHTTPSサイトがありました。リダイレクトサイトとhttpsサイトの間で物事を分割しているため、基本的には、サイトへのリダイレクトが1つだけのHTTPバインディングが表示されます。 httpsで。

彼らが経験していたのは、サイトの1つだけが機能していて、他のすべてのサイトでエラーが発生していた(エラーコード:ssl_error_bad_cert_domain)。証明書を確認するウサギの穴から始めましたが、すべて有効で、作業サイトのリダイレクトで判明しました。httpsリダイレクトもあり、これが問題の原因でした。単一のhttpsリダイレクトがhttpリダイレクトサイトから削除されると、すべてのサイトが再び機能し始めました。

したがって、リダイレクトがある場合は、リダイレクトが期待どおりの動作をするかどうかを確認することをお勧めします。

どうして?

「すべてのHTTPSサイトがSSL証明書バインディングのIPに*を使用しており、お客様が特定のIPをリダイレクトサイトにマッピングしたSSLバインディングを追加したため、IIS特定のIPアドレスがあり、他のIPアドレスは持っていなかったため、すべてのHTTPSトラフィックをそのリダイレクトサイトに渡すことにしました。」-JT Shoupe

0
Jeff Patton