Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In ASP.NET Core 6.0 löst die HTTPS-Umleitungs-Middleware eine Ausnahme vom Typ InvalidOperationException aus, wenn mehrere HTTPS-Ports in der Serverkonfiguration gefunden werden. Die Meldung der Ausnahme enthält den Text "Https-Port von IServerAddressesFeature kann nicht ermittelt werden, mehrere Werte wurden gefunden. Legen Sie den gewünschten Port explizit auf HttpsRedirectionOptions.HttpsPort fest."
Weitere Diskussionen finden Sie auf der GitHub-Issue-Seite dotnet/aspnetcore#29222.
Eingeführt in Version
ASP.NET Core 6.0
Altes Verhalten
Wenn die HTTPS-Umleitungs-Middleware nicht explizit mit einem Port konfiguriert ist, durchsucht IServerAddressesFeature sie während der ersten Anforderung, um den HTTPS-Port zu ermitteln, an den sie umgeleitet werden soll.
Wenn keine HTTPS-Ports oder mehrere unterschiedliche Ports vorhanden sind, ist unklar, welcher Port verwendet werden soll. Die Middleware protokolliert eine Warnung und deaktiviert sich selbst. HTTP-Anforderungen werden normal verarbeitet.
Neues Verhalten
Wenn die HTTPS-Umleitungs-Middleware nicht explizit mit einem Port konfiguriert ist, durchsucht IServerAddressesFeature sie während der ersten Anforderung, um den HTTPS-Port zu ermitteln, an den sie umgeleitet werden soll.
Wenn keine HTTPS-Ports vorhanden sind, protokolliert die Middleware weiterhin eine Warnung und deaktiviert sich selbst. HTTP-Anforderungen werden normal verarbeitet. Dieses Verhalten unterstützt Folgendes:
- Entwicklungsszenarien ohne HTTPS.
- Gehostete Szenarien, in denen TLS beendet wird, bevor sie den Server erreichen.
Wenn mehrere unterschiedliche Ports vorhanden sind, ist unklar, welcher Port verwendet werden soll. Die Middleware löst eine Ausnahme aus und schlägt die HTTP-Anforderung fehl.
Grund für Änderung
Diese Änderung verhindert, dass potenziell vertrauliche Daten über unverschlüsselte HTTP-Verbindungen bereitgestellt werden, wenn bekannt ist, dass HTTPS verfügbar ist.
Empfohlene Aktion
Um die HTTPS-Umleitung zu aktivieren, wenn der Server über mehrere unterschiedliche HTTPS-Ports verfügt, müssen Sie einen Port in der Konfiguration angeben. Weitere Informationen finden Sie unter Portkonfiguration.
Wenn Sie die HTTPS-Umleitungs-Middleware in Ihrer App nicht benötigen, entfernen Sie UseHttpsRedirection sie aus Startup.cs.
Wenn Sie den richtigen HTTPS-Port dynamisch auswählen müssen, geben Sie Feedback in GitHub problem dotnet/aspnetcore#21291.