Kestrel: se ha quitado el enlace HTTPS predeterminado

La dirección HTTPS y el puerto predeterminados se han quitado de Kestrel en .NET 7. Este cambio forma parte de dotnet/aspnetcore#42016, lo que mejorará la experiencia general del desarrollador al tratar con HTTPS.

Versión introducida

ASP.NET Core 7.0

Comportamiento anterior

Anteriormente, si no se especificaban explícitamente valores para la dirección y el puerto, pero había disponible un certificado de desarrollo local, Kestrel se enlazaba de forma predeterminada a http://localhost:5000 y https://localhost:5001.

Comportamiento nuevo

Los usuarios ahora deben crear un enlace manual a HTTPS y especificar explícitamente la dirección y el puerto por uno de los siguientes medios:

  • El archivo launchSettings.json
  • La variable de entorno ASPNETCORE_URLS.
  • El argumento de la línea de comandos --urls
  • La clave de configuración del host urls
  • El método de extensión UseUrls(IWebHostBuilder, String[])

El enlace HTTP no cambia.

Tipo de cambio importante

Este cambio afecta a la compatibilidad binaria.

Motivo del cambio

El comportamiento anterior de enlace diligente se produce sin tener en cuenta el entorno configurado y puede dar lugar a una experiencia de desarrollo deficiente cuando aún no se confía en el certificado (es decir, no se confía en él como entidad de certificación raíz porque está autofirmado). Los clientes suelen producir una experiencia de usuario deficiente al alcanzar un punto de conexión HTTPS con un certificado que no es de confianza. Por ejemplo, pueden generar errores de forma inadvertida o mostrar una pantalla de error o advertencia que alarme al usuario.

Si no estaba usando el enlace https://localhost:5001 predeterminado, no se requieren cambios. Sin embargo, si estaba usando este enlace, consulte Configuración de puntos de conexión para el servidor web de Kestrel en ASP.NET Core para aprender a actualizar el servidor para habilitar HTTPS.

API afectadas

N/D