Partage via


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 :

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

Prerequisites

Warning

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

Installez le bundle d’hébergement .NET sur le serveur IIS. Le bundle installe le runtime .NET, la bibliothèque .NET 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 actuel de l’offre groupée d’hébergement .NET (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. Fournissez un nom de site et définissez le chemin d’accès physique au dossier de déploiement de l’application que vous avez créé. Fournissez la configuration de liaison et créez le site web en sélectionnant OK.

    Warning

    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é du modèle de processus dispose des autorisations appropriées.

    Si l’identité par défaut du pool d’applications (Modèle de processus>Identity) est modifiée de ApplicationPoolIdentity à une autre identité, vérifiez que la nouvelle identité dispose des autorisations requises pour accéder au dossier, à la base de données et aux autres ressources requises 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 ASP.NET Core

Créez n’importe quel type d’application serveur core ASP.NET.

Note

Ce tutoriel est basé sur l’hébergement d’une application ASP.NET Core côté serveur avec IIS, y compris un Blazor Web App. Pour obtenir des conseils sur l’hébergement et le déploiement d’une application autonome Blazor WebAssembly avec IIS, consultez Host and deploy ASP.NET Core Blazor WebAssembly with IIS.

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 Kit de développement logiciel (SDK) .NET, tandis que l’étape de déploiement peut être gérée par diverses approches. Ce didacticiel adopte l’approche de déploiement de dossiers , où :

  • L’application est publiée dans un dossier.
  • Le contenu du dossier est déplacé vers le dossier du site IIS ( chemin d’accès physique au 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 à déployer directement sur le dossier du site IIS sur le serveur IIS, publiez sur un dossier sur un média amovible et déplacez physiquement l’application publiée vers le dossier de site IIS sur le serveur, qui est le chemin physique du site dans le Gestionnaire IIS. Déplacez le contenu du bin/Release/{TARGET FRAMEWORK}/publish dossier vers le dossier du site IIS sur le serveur, qui est le chemin d’accès 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.

Next steps

Dans ce didacticiel, vous avez appris à :

  • Installez le bundle d’hébergement .NET 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 :

Additional resources

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