Publier une application ASP.NET Core sur IIS

Ce tutoriel explique comment héberger une application ASP.NET Core sur un serveur IIS.

Ce tutoriel couvre les étapes suivantes :

  • Installer le bundle d’hébergement .NET Core sur Windows Server
  • Créer un site IIS dans le gestionnaire IIS
  • Déployer une application ASP.NET Core

Prérequis

  • Installation du SDK .NET Core sur l’ordinateur de développement
  • Configuration de Windows Server avec le rôle serveur Serveur Web (IIS). Si votre serveur n’est pas configuré pour héberger des sites web avec IIS, suivez les instructions qui se trouvent dans la section Configuration IIS de l’article Héberger ASP.NET Core sur Windows avec IIS, puis revenez à ce tutoriel.

Avertissement

La configuration d’IIS et la sécurité des sites web impliquent des concepts qui ne sont pas abordés dans ce tutoriel. Avant d’héberger des applications de production sur IIS, consultez la documentation IIS de Microsoft et cet article ASP.NET Core concernant l’hébergement sur IIS.

Voici certains scénarios importants concernant l’hébergement sur IIS qui ne sont pas abordés dans ce tutoriel :

Installer le bundle d’hébergement .NET Core

Installez le bundle d’hébergement .NET Core sur le serveur IIS. Le bundle installe le Runtime .NET Core, la bibliothèque .NET Core et le Module ASP.NET Core. Le module permet aux applications ASP.NET Core de s’exécuter derrière IIS.

Téléchargez le programme d’installation à l’aide du lien suivant :

Programme d’installation du bundle d’hébergement .NET Core actuel (téléchargement direct)

  1. Exécutez le programme d’installation sur le serveur IIS.

  2. Redémarrez le serveur ou exécutez net stop was /y suivi de net start w3svc dans une interface de commande.

Créer le site IIS

  1. Sur le serveur IIS, créez un dossier pour contenir les fichiers et dossiers publiés de l’application. À l’étape suivante, le chemin du dossier est fourni à IIS en tant que chemin d’accès physique à l’application. Pour plus d’informations sur le dossier de déploiement et le layout des fichiers d’une application, consultez Structure de répertoires ASP.NET Core.

  2. Dans le Gestionnaire IIS, ouvrez le nœud du serveur dans le panneau Connexions. Cliquez avec le bouton de droite sur le dossier Sites. Sélectionnez Ajouter un site Web dans le menu contextuel.

  3. Spécifiez le Nom du site et définissez le Chemin physique sur le dossier de déploiement de l’application que vous avez créé. Spécifiez la configuration Liaison et créez le site web en sélectionnant OK.

    Avertissement

    Les liaisons génériques de niveau supérieur (http://*:80/ et http://+:80) ne doivent pas être utilisées. Les liaisons génériques de niveau supérieur peuvent exposer votre application à des failles de sécurité. Cela s’applique aux caractères génériques forts et faibles. Utilisez des noms d’hôte explicites plutôt que des caractères génériques. Une liaison générique de sous-domaine (par exemple, *.mysub.com) ne présente pas ce risque de sécurité si vous contrôlez le domaine parent en entier (par opposition à *.com, qui est vulnérable). Consultez RFC 9110 : RFC 9110: HTTP Semantics (Section 7.2. Host et :authority) pour plus d’informations.

  4. Vérifiez que l’identité de modèle de processus dispose des autorisations appropriées.

    Si l’identity par défaut du pool d’applications (Identity de modèle de processus>) change, et passe d’ApplicationPoolIdentity à une autre identity, vérifiez que la nouvelle identity dispose des autorisations nécessaires pour accéder au dossier, à la base de données et aux autres ressources nécessaires de l’application. Par exemple, le pool d’applications nécessite l’accès en lecture et en écriture aux dossiers dans lesquels l’application lit et écrit des fichiers.

Créer une application Razor Pages ASP.NET Core

Suivez le tutoriel Prise en main de ASP.NET Core pour créer une application Pages Razor.

Publier et déployer l’application

Publier une application signifie que vous créez une application compilée qui peut être hébergée par un serveur. Déployer une application signifie que vous déplacez l’application publiée vers un système d’hébergement. L’étape de publication est gérée par le SDK .NET Core, alors que l’étape de déploiement peut être gérée à l’aide de différentes méthodes. Ce tutoriel utilise la méthode de déploiement par dossier, dans laquelle :

  • L’application est publiée dans un dossier.
  • Le contenu du dossier est déplacé vers le dossier du site IIS (le chemin physique du site dans le gestionnaire IIS).
  1. Cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis sélectionnez Publier.
  2. Dans la boîte de dialogue Choisir une cible de publication, sélectionnez l’option de publication Dossier.
  3. Configurez un chemin pour Dossier ou partage de fichiers.
    • Si vous avez créé un dossier pour le site IIS qui est disponible sur l’ordinateur de développement en tant que partage réseau, indiquez le chemin de ce partage. L’utilisateur actuel doit disposer d’un accès en écriture pour publier des données sur le partage.
    • Si vous ne parvenez pas à effectuer le déploiement directement dans le dossier du site IIS sur le serveur IIS, publiez l’application dans un dossier situé sur un support amovible et déplacez physiquement l’application publiée vers le dossier du site IIS sur le serveur, qui correspond au chemin physique du site dans le gestionnaire IIS. Déplacez le contenu du dossier bin/Release/{TARGET FRAMEWORK}/publish vers le dossier du site IIS qui se trouve sur le serveur et qui correspond au chemin physique du site dans le gestionnaire IIS.
  4. Cliquez sur le bouton Publier.

Parcourir le site Web

L’application est accessible dans un navigateur après avoir reçu la première requête. Envoyez une requête à l’application au niveau de la liaison de point de terminaison que vous avez établie dans le gestionnaire IIS pour le site.

Étapes suivantes

Dans ce didacticiel, vous avez appris à :

  • Installer le bundle d’hébergement .NET Core sur Windows Server
  • Créer un site IIS dans le gestionnaire IIS
  • Déployer une application ASP.NET Core

Pour plus d’informations sur l’hébergement des applications ASP.NET Core sur IIS, consultez l’article de présentation d’IIS :

Ressources supplémentaires

Articles de la documentation ASP.NET Core

Articles relatifs au déploiement d’applications ASP.NET Core

Articles sur la configuration HTTPS IIS

Articles sur IIS et Windows Server

Déploiement de ressources pour les administrateurs IIS