Udostępnij za pośrednictwem


Kestrel: Domyślne powiązanie HTTPS zostało usunięte

Domyślny adres HTTPS i port zostały usunięte z usługi Kestrel na platformie .NET 7. Ta zmiana jest częścią dotnet/aspnetcore#42016, co poprawi ogólne środowisko dewelopera podczas pracy z protokołem HTTPS.

Wprowadzona wersja

ASP.NET Core 7.0

Poprzednie zachowanie

Wcześniej, jeśli nie określono jawnie żadnych wartości dla adresu i portu, ale lokalny certyfikat dewelopera był dostępny, Kestrel domyślnie powiązanie z parametrami i http://localhost:5000 https://localhost:5001.

Nowe zachowanie

Użytkownicy muszą teraz ręcznie powiązać się z protokołem HTTPS i jawnie określić adres i port za pomocą jednego z następujących środków:

  • Plik uruchamiania Ustawienia.json
  • Zmienna środowiskowa ASPNETCORE_URLS
  • --urls Argument wiersza polecenia
  • urls Klucz konfiguracji hosta
  • UseUrls(IWebHostBuilder, String[]) Metoda rozszerzenia

Powiązanie HTTP pozostaje niezmienione.

Typ zmiany powodującej niezgodność

Ta zmiana ma wpływ na zgodność binarną.

Przyczyna wprowadzenia zmiany

Poprzednie zachowanie chętnego powiązania występuje bez względu na skonfigurowane środowisko i może prowadzić do złego środowiska deweloperskiego, gdy certyfikat nie został jeszcze zaufany (jest to zaufany jako główny urząd certyfikacji, ponieważ jest podpisany samodzielnie). Klienci często generują słabe środowisko użytkownika podczas uzyskiwania dostępu do punktu końcowego HTTPS z niezaufanym certyfikatem. Na przykład mogą one zakończyć się niepowodzeniem w trybie dyskretnym lub wyświetlić komunikat o błędzie lub ekranie ostrzegawczym, który alarmuje użytkownika.

Jeśli nie używasz powiązania domyślnego https://localhost:5001 , nie są wymagane żadne zmiany. Jeśli jednak używasz tego powiązania, zobacz Konfigurowanie punktów końcowych dla serwera internetowego ASP.NET Core Kestrel, aby dowiedzieć się, jak zaktualizować serwer w celu włączenia protokołu HTTPS.

Dotyczy interfejsów API

Nie dotyczy