Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Internet Information Services (IIS) est un serveur web flexible à usage général qui s’exécute sur Windows et peut héberger des applications ASP.NET Core. IIS est un bon choix lorsque vous devez exécuter des applications ASP.NET Core sur Windows Server dans un environnement local ou hybride, besoin de l’authentification Windows ou d’une intégration avec d’autres fonctionnalités IIS telles que la réécriture d’URL, le routage des demandes d’application ou la gestion centralisée des certificats.
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
- Kit de développement logiciel (SDK) .NET installé 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 de la section configuration IIS de l'article Héberger ASP.NET Core sur Windows avec IIS, puis revenez à ce didacticiel.
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 :
- Création d'une ruche de registre pour la protection des données de 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 activée pour le protocole HTTPS, consultez les rubriques de sécurité de 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
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.
ASP.NET applications Core hébergées dans IIS utilisent le modèle d’hébergement in-process par défaut (depuis ASP.NET Core 3.0). L’hébergement in-process exécute l’application dans le même processus que le processus de travail IIS (w3wp.exe), qui offre de meilleures performances que l’hébergement hors processus. Pour plus d’informations, consultez Héberger ASP.NET Core sur Windows avec 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)
Exécutez le programme d’installation sur le serveur IIS.
Redémarrez le serveur ou exécutez
net stop was /ysuivi denet start w3svcdans 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.
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/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 jokers 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é 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).
ASP.NET applications Core peuvent être publiées en tant qu’applications dépendantes de l’infrastructure (le serveur doit avoir .NET installé) ou autonome (inclut le runtime .NET dans la sortie publiée). Pour la plupart des déploiements IIS, l’approche dépendante du framework est recommandée, car le bundle d’hébergement .NET fournit le runtime requis sur le serveur. Pour plus d’informations, consultez le déploiement d’applications .NET.
Un web.config fichier est généré automatiquement lorsque l’application est publiée. IIS utilise ce fichier pour configurer le module principal ASP.NET pour l’application. Ne supprimez pas ou modifiez manuellement le web.config fichier, sauf si vous apportez des modifications de configuration avancées.
- Cliquez avec le bouton droit sur le projet dans l’Explorateur de solutions , puis sélectionnez Publier.
- Dans la boîte de dialogue Publier , sélectionnez Dossier comme cible de publication, puis sélectionnez Suivant.
- Définissez le chemin de l’emplacement du dossier.
- 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 avoir un accès en écriture pour publier 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}/publishdossier (où{TARGET FRAMEWORK}se trouve le moniker du framework cible, par exemplenet10.0) vers le dossier de site IIS sur le serveur, qui est le chemin d’accès physique du site dans le Gestionnaire IIS.
- Sélectionnez Terminer , puis 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 point de terminaison que vous avez établi dans IIS Manager pour le site.
Prochaines étapes
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 :
Ressources supplémentaires
Articles de l'ensemble de 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