IIS 8.5 (Win 2012R2) + バインディングが追加されると自動的に HTTPS にリダイレクトされます

IIS 8.5 (Win 2012R2) + バインディングが追加されると自動的に HTTPS にリダイレクトされます

今まで見たことのない奇妙な行動を理解しようとします。

サイトがあります。ポート 80 の HTTP ホスト名バインディングが構成されています。サイトは HTTP でアクセスできます。

HTTPS バインディングを追加すると (SNI ありとなしの両方を試しました)、HTTPS 経由でサイトにアクセスできます。ただし、HTTP 経由でサイトにアクセスしようとすると、HTTPS への 307 リダイレクトが発生します。

IIS リダイレクト ルールや URL 書き換えルールは追加されていません。また、HTTPS ポートを別のポート (例: 44300) に変更すると、HTTP (ポート 80) からのリダイレクトが更新され、構成された非標準ポートにリダイレクトされます。

価値はありません。これは .NET Core サイトです。アプリケーションが IIS バインディングをチェックし、ここで適切なリダイレクトを実行できる可能性はありますか?

素晴らしいアイデアをありがとうございます!

編集:

Microsoft.AspNetCore.HttpsPolicyjson ファイルで次の参照を見つけました。ソース コードはありません。

また、Web ルートをクリアして静的な index.htm ファイルを追加するだけでは、魔法のリダイレクトは発生しません。つまり、ASP.NET Core アプリケーションでは、IIS 構成からポート番号が読み取られるようです。これはおかしいと思います。

答え1

.NET Core には、HTTP から HTTPS へのリダイレクトがデフォルトで含まれていますが、条件が満たされたことを検出すると、誤ってアクティブ化される可能性があります。そのため、それが望ましくない場合は、開発者に依頼してこれを完全に無効にしてください (UseHttpsRedirectionコードから削除してください)。

参照

関連情報