Kestrel : Liaison HTTPS par défaut supprimée

L’adresse et le port HTTPS par défaut ont été supprimés de Kestrel dans .NET 7. Ce changement fait partie de dotnet/aspnetcore#42016, qui améliore l’expérience globale des développeurs pour la gestion du protocole HTTPS.

Version introduite

ASP.NET Core 7.0

Comportement précédent

Auparavant, si aucune valeur n’était spécifiée pour l’adresse et le port de manière explicite, mais qu’un certificat de développement local était disponible, Kestrel était lié par défaut à http://localhost:5000 et https://localhost:5001.

Nouveau comportement

Les utilisateurs doivent maintenant établir une liaison manuelle à HTTPS et spécifier explicitement l’adresse et le port, en utilisant un des moyens suivants :

  • Fichier launchSettings.json
  • La variable d’environnement ASPNETCORE_URLS
  • Argument de ligne de commande --urls
  • Clé de configuration d’hôte urls
  • Méthode d’extension UseUrls(IWebHostBuilder, String[])

La liaison HTTP ne change pas.

Type de changement cassant

Cette modification affecte la compatibilité binaire.

Raison du changement

Le comportement de liaison hâtif précédent se produit sans tenir compte de l’environnement configuré et peut entraîner une mauvaise expérience du développeur quand le certificat n’a pas encore été approuvé (c’est-à-dire, approuvé comme autorité de certification racine, car il est auto-signé). Les clients produisent souvent une expérience utilisateur médiocre quand ils accèdent à un point de terminaison HTTPS avec un certificat non approuvé. Par exemple, ils peuvent échouer en mode silencieux, ou afficher un écran d’erreur ou d’avertissement qui alarme l’utilisateur.

Si vous n’utilisiez pas la liaison https://localhost:5001 par défaut, aucun changement n’est nécessaire. Toutefois, si vous utilisiez cette liaison, consultez Configurer des points de terminaison pour le serveur web ASP.NET Core Kestrel pour savoir comment mettre à jour votre serveur pour activer HTTPS.

API affectées

N/A