%20%2B%20Automatische%20Weiterleitung%20zu%20HTTPS%2C%20wenn%20Bindung%20hinzugef%C3%BCgt%20wird.png)
Ich versuche, ein seltsames Verhalten zu verstehen, das ich noch nie zuvor gesehen habe.
Ich habe eine Site. HTTP-Hostnamenbindung auf Port 80 ist konfiguriert. Die Site ist über HTTP erreichbar.
Wenn ich eine HTTPS-Bindung hinzufüge (habe es mit und ohne SNI versucht), kann ich über HTTPS auf die Site zugreifen. Aber wenn ich versuche, über HTTP auf die Site zuzugreifen, erhalte ich eine 307-Weiterleitung zu HTTPS.
Ich habe keine IIS-Umleitungsregeln oder URL-Umschreiberegeln hinzugefügt. Auch wenn ich den HTTPS-Port auf einen anderen Port ändere, z. B. 44300, werden die Umleitungen von HTTP (Port 80) aktualisiert, sodass sie auf den konfigurierten nicht standardmäßigen Port umgeleitet werden.
Das sollte man nicht tun, es ist eine .NET Core-Site. Besteht die Möglichkeit, dass die Anwendung die IIS-Bindungen überprüft und dann eine ordnungsgemäße Umleitung hierher durchführt?
Danke für all eure cleveren Ideen!
Bearbeiten:
Ich finde einen Verweis auf: Microsoft.AspNetCore.HttpsPolicy
in einer JSON-Datei. Ich habe den Quellcode nicht.
Auch wenn ich das Web-Root lösche und einfach eine statische index.htm-Datei hinzufüge, wird die magische Weiterleitung nicht stattfinden. Also, irgendetwas mit der ASP.NET Core-Anwendung scheint die Portnummer aus der IIS-Konfiguration zu lesen, was für mich verrückt klingt.
Antwort1
.NET Core enthält eine standardmäßige Umleitung von HTTP zu HTTPS, die versehentlich aktiviert werden kann, wenn die Bedingung erfüllt ist. Wenn das also nicht das ist, was Sie möchten, wenden Sie sich an die Entwickler, um dies vollständig zu deaktivieren ( UseHttpsRedirection
aus dem Code zu entfernen).