%20%2B%20%E3%83%90%E3%82%A4%E3%83%B3%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%81%8C%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%82%8B%E3%81%A8%E8%87%AA%E5%8B%95%E7%9A%84%E3%81%AB%20HTTPS%20%E3%81%AB%E3%83%AA%E3%83%80%E3%82%A4%E3%83%AC%E3%82%AF%E3%83%88%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99.png)
今まで見たことのない奇妙な行動を理解しようとします。
サイトがあります。ポート 80 の HTTP ホスト名バインディングが構成されています。サイトは HTTP でアクセスできます。
HTTPS バインディングを追加すると (SNI ありとなしの両方を試しました)、HTTPS 経由でサイトにアクセスできます。ただし、HTTP 経由でサイトにアクセスしようとすると、HTTPS への 307 リダイレクトが発生します。
IIS リダイレクト ルールや URL 書き換えルールは追加されていません。また、HTTPS ポートを別のポート (例: 44300) に変更すると、HTTP (ポート 80) からのリダイレクトが更新され、構成された非標準ポートにリダイレクトされます。
価値はありません。これは .NET Core サイトです。アプリケーションが IIS バインディングをチェックし、ここで適切なリダイレクトを実行できる可能性はありますか?
素晴らしいアイデアをありがとうございます!
編集:
Microsoft.AspNetCore.HttpsPolicy
json ファイルで次の参照を見つけました。ソース コードはありません。
また、Web ルートをクリアして静的な index.htm ファイルを追加するだけでは、魔法のリダイレクトは発生しません。つまり、ASP.NET Core アプリケーションでは、IIS 構成からポート番号が読み取られるようです。これはおかしいと思います。
答え1
.NET Core には、HTTP から HTTPS へのリダイレクトがデフォルトで含まれていますが、条件が満たされたことを検出すると、誤ってアクティブ化される可能性があります。そのため、それが望ましくない場合は、開発者に依頼してこれを完全に無効にしてください (UseHttpsRedirection
コードから削除してください)。