Freigeben über


Kestrel: Standardmäßige HTTPS-Bindung entfernt

Die standardmäßige HTTPS-Adresse und der Port wurden aus Kestrel .NET 7 entfernt. Diese Änderung ist Teil von dotnet/aspnetcore#42016, wodurch die allgemeine Entwicklererfahrung beim Umgang mit HTTPS verbessert wird.

Eingeführt in Version

ASP.NET Core 7.0

Vorheriges Verhalten

Falls zuvor keine Werte für die Adresse und den Port explizit angegeben wurden, jedoch ein lokales Entwicklungszertifikat verfügbar war, band sich Kestrel standardmäßig an sowohl http://localhost:5000 als auch https://localhost:5001.

Neues Verhalten

Benutzer müssen jetzt manuell eine Bindung an HTTPS herstellen und die Adresse und den Port explizit angeben, über eine der folgenden Methoden:

  • Die launchSettings.json-Datei
  • Die ASPNETCORE_URLS-Umgebungsvariable
  • Das --urls Befehlszeilenargument
  • Der urls Hostkonfigurationsschlüssel
  • Die UseUrls(IWebHostBuilder, String[]) Erweiterungsmethode

DIE HTTP-Bindung ist unverändert.

Art der einschneidenden Änderung

Diese Änderung wirkt sich auf die Binäre Kompatibilität aus.

Grund für Änderung

Das vorherige eageres Bindungsverhalten tritt unabhängig von der konfigurierten Umgebung auf und kann zu einer schlechten Entwicklererfahrung führen, wenn das Zertifikat noch nicht als vertrauenswürdig eingestuft wurde (d. h. als Stammzertifizierungsstelle, weil es selbstsigniert ist). Clients erzeugen häufig eine schlechte Benutzererfahrung beim Drücken eines HTTPS-Endpunkts mit einem nicht vertrauenswürdigen Zertifikat. Sie können zum Beispiel unbemerkt fehlschlagen oder einen Fehler- oder Warnbildschirm anzeigen, der den Benutzer alarmiert.

Wenn Sie die Standardbindung https://localhost:5001 nicht verwenden, sind keine Änderungen erforderlich. Wenn Sie diese Bindung verwenden, lesen Sie jedoch die Konfiguration von Endpunkten für den ASP.NET Core-WebserverKestrel, um zu erfahren, wie Sie Ihren Server aktualisieren können, um HTTPS zu aktivieren.

Betroffene APIs

N/A