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 :
- Création d’une ruche de Registre pour la protection des données ASP.NET Core
- Configuration de la liste de contrôle d’accès (ACL) du pool d’applications
- Pour aborder les concepts de déploiement IIS, ce tutoriel déploie une application pour laquelle aucune sécurité HTTPS n’a été configurée dans IIS. Pour plus d’informations sur l’hébergement d’une application dans laquelle est activé le protocole HTTPS, consultez les rubriques relatives à la sécurité dans la section Ressources supplémentaires de cet article. Des conseils supplémentaires pour l’hébergement d’applications ASP.NET Core sont fournis dans l’article Héberger ASP.NET Core sur Windows avec IIS.
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)
Exécutez le programme d’installation sur le serveur IIS.
Redémarrez le serveur ou exécutez
net stop was /y
suivi denet start w3svc
dans une interface de commande.
Créer le site IIS
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.
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.
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/
ethttp://+: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.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).
- Cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions, puis sélectionnez Publier.
- Dans la boîte de dialogue Choisir une cible de publication, sélectionnez l’option de publication Dossier.
- 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.
- 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
- Module ASP.NET Core (ANCM) pour IIS
- Structure de répertoires ASP.NET Core
- Résoudre les problèmes liés à ASP.NET Core sur Azure App Service et IIS
- Appliquez HTTPS dans ASP.NET Core
- WebSockets sur IIS
Articles relatifs au déploiement d’applications ASP.NET Core
- Publier une application ASP.NET Core sur Azure avec Visual Studio
- Publier une application ASP.NET Core sur Azure avec Visual Studio Code
- Profils de publication Visual Studio (.pubxml) pour le 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
- Documentation IIS
- Bien démarrer avec le Gestionnaire IIS dans IIS
- Déploiement d’applications .NET Core
- Module ASP.NET Core (ANCM) pour IIS
- Structure de répertoires ASP.NET Core
- Modules IIS avec ASP.NET Core
- Résoudre les problèmes liés à ASP.NET Core sur Azure App Service et IIS
- Résolution des problèmes courants pour Azure App Service et IIS avec ASP.NET Core
- Sessions persistantes avec Application Request Routing