Configurer une application App Service
Remarque
Depuis le 1er juin 2024, toutes les applications App Service nouvellement créées ont la possibilité de générer un nom d’hôte par défaut unique en utilisant la convention d’affectation de noms <app-name>-<random-hash>.<region>.azurewebsites.net
. Les noms d’application existants restent inchangés.
Exemple : myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Pour plus d’informations, reportez-vous à Nom d’hôte par défaut unique pour la ressource App Service.
Cet article explique comment configurer les paramètres courants d’une application web, d’un back-end mobile ou d’une application API. Pour Azure Functions, consultez Informations de référence sur les paramètres d’application d’Azure Functions.
Configuration des paramètres d’application
Remarque
- Les noms des paramètres d’application peuvent contenir uniquement des lettres, des chiffres (0-9), des points (« . ») et des traits de soulignement (« _ »)
- Les caractères spéciaux dans la valeur d’un paramètre d’application doivent être positionnés dans une séquence d’échappement en fonction des besoins du système d’exploitation cible
Par exemple, pour définir une variable d’environnement dans App Service Linux avec la valeur "pa$$w0rd\"
, la chaîne du paramètre d’application doit être :"pa\$\$w0rd\\"
Dans App Service, les paramètres d’application sont des variables transmises comme des variables d’environnement au code de l’application. Pour les applications Linux et les conteneurs personnalisés, App Service envoie les paramètres d’application au conteneur via l’indicateur --env
pour définir la variable d'environnement dans le conteneur. Dans les deux cas, ils sont injectés dans votre environnement d’application au démarrage de l’application. Quand vous ajoutez, supprimez ou modifiez des paramètres d’application, App Service déclenche un redémarrage de l’application.
Les développeurs ASP.NET et ASP.NET Core définissent les paramètres de l'application dans App Service comme ils le font avec <appSettings>
dans Web.config ou appsettings.json, mais les valeurs dans App Service remplacent celles du fichier Web.config ou appsettings.json. Vous pouvez conserver de façon sécurisée les paramètres de développement (par exemple, le mot de passe MySQL local) dans Web.config ou appsettings.json, ainsi que les secrets de production (par exemple le mot de passe de la base de données MySQL Azure) dans App Service. Le même code utilise vos paramètres de développement lorsque vous déboguez localement, et utilise vos secrets de production lorsque vous les déployez sur Azure.
De la même façon, d'autres piles de langage récupèrent les paramètres de l'application en tant que variables d'environnement lors de l'exécution. Pour les étapes spécifiques à la pile de langage, voir :
Une fois stockés, les paramètres d’application sont toujours chiffrés (chiffrement au repos).
Remarque
Si vous stockez des secrets dans les paramètres de l’application, pensez à utiliser des références Key Vault. Si vos secrets sont destinés à la connectivité aux ressources principales, envisagez des options de connectivité plus sécurisées qui ne nécessitent pas de secrets du tout. Pour plus d’informations, consultez Connectivité sécurisée aux services et bases de données Azure à partir d’Azure App Service.
Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.
Dans le menu de gauche de l’application, sélectionnez Variables d’environnement>Paramètres de l’application.
Par défaut, les valeurs des paramètres de l'application sont masquées dans le portail pour des raisons de sécurité. Pour voir la valeur masquée d'un paramètre spécifique de l'application, sélectionnez le champ Valeur correspondant. Pour voir les valeurs masquées de tous les paramètres de l’application, sélectionnez le bouton Afficher les valeurs.
Sélectionnez Ajouter pour ajouter un nouveau paramètre d’application. Pour modifier un paramètre, cliquez dessus.
Dans la boîte de dialogue, vous pouvez conserver le paramètre dans l'emplacement actuel.
Remarque
Dans un service d’application Linux par défaut ou un conteneur Linux personnalisé, une structure de clé JSON imbriquée dans le nom du paramètre de l’application, par exemple
ApplicationInsights:InstrumentationKey
, doit être configurée dans App Service en tant queApplicationInsights__InstrumentationKey
pour le nom de la clé. En d’autres termes, vous devez remplacer:
par__
(trait de soulignement double). Toutes les périodes du nom du paramètre d’application sont remplacées par un_
(trait de soulignement unique).Lorsque vous avez terminé, sélectionnez Appliquer. N’oubliez pas de sélectionner Appliquer dans la page Variables d’environnement.
Modifier des paramètres d’application en bloc
Sélectionnez le bouton Modification avancée. Modifiez les paramètres dans la zone de texte. Lorsque vous avez terminé, sélectionnez OK. N’oubliez pas de sélectionner Appliquer dans la page Variables d’environnement.
Les paramètres de l'application affichent le format JSON suivant :
[
{
"name": "<key-1>",
"value": "<value-1>",
"slotSetting": false
},
{
"name": "<key-2>",
"value": "<value-2>",
"slotSetting": false
},
...
]
Configuration des chaînes de connexion
Remarque
Envisagez des options de connectivité plus sécurisées qui ne nécessitent pas de secrets de connexion du tout. Pour plus d’informations, consultez Connectivité sécurisée aux services et bases de données Azure à partir d’Azure App Service.
Les développeurs ASP.NET et ASP.NET Core définissent les chaînes de connexion dans App Service comme ils le font avec <connectionStrings>
dans Web.config, mais les valeurs que vous définissez dans App Service remplacent celles du fichier Web.config. Vous pouvez conserver en lieu sûr les paramètres de développement (par exemple un fichier de base de données) dans Web.config et les secrets de production (par exemple des informations d’identification SQL Database) dans App Service. Le même code utilise vos paramètres de développement lorsque vous déboguez localement, et utilise vos secrets de production lorsque vous les déployez sur Azure.
Pour d’autres piles de langage, il est préférable d'utiliser des paramètres d’application car les chaînes de connexion nécessitent un formatage spécial dans les clés variables pour pouvoir accéder aux valeurs.
Notes
Il existe un cas où vous pouvez utiliser des chaînes de connexion au lieu des paramètres d’application pour les langages autre que .NET : certains types de base de données Azure sont sauvegardés avec l’application uniquement si vous configurez une chaîne de connexion pour la base de données dans votre application App Service. Pour plus d’informations, consultez Créer une sauvegarde personnalisée. Si vous n'avez pas besoin de cette sauvegarde automatisée, utilisez les paramètres de l'application.
Lors de l'exécution, les chaînes de connexion sont disponibles en tant que variables d'environnement, préfixées par les types de connexion suivants :
- SQLServer :
SQLCONNSTR_
- MySQL :
MYSQLCONNSTR_
- SQLAzure :
SQLAZURECONNSTR_
- Personnalisé :
CUSTOMCONNSTR_
- PostgreSQL :
POSTGRESQLCONNSTR_
- Hub de notification :
NOTIFICATIONHUBCONNSTR_
- Service Bus :
SERVICEBUSCONNSTR_
- Event Hub :
EVENTHUBCONNSTR_
- Document DB :
DOCDBCONNSTR_
- Cache Redis :
REDISCACHECONNSTR_
Remarque
Les applications .NET ciblant PostgreSQL, le Hub de notification, Service Bus, Event Hub, Document Db et le Cache Redis doivent définir la chaîne de connexion sur Personnalisée comme solution de contournement pour d’un problème connu dans .NET EnvironmentVariablesConfigurationProvider
Par exemple, une chaîne de connexion MySQL nommée connectionstring1 est accessible comme variable d’environnement MYSQLCONNSTR_connectionString1
. Pour les étapes spécifiques à la pile de langage, voir :
Une fois stockées, les chaînes de connexion sont toujours chiffrées (chiffrement au repos).
Notes
Les chaînes de connexion peuvent également être résolues à partir de Key Vault à l’aide des références Key Vault.
Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.
Dans le menu de gauche de l’application, sélectionnez Variables d’environnement>Chaînes de connexion.
Par défaut, les valeurs des chaînes de connexion sont masquées dans le portail pour des raisons de sécurité. Pour voir la valeur masquée d’une chaîne de connexion, sélectionnez le champ Valeur correspondant. Pour voir les valeurs masquées de toutes les chaînes de connexion, sélectionnez le bouton Afficher la valeur.
Pour ajouter une chaîne de connexion, sélectionnez Ajouter. Pour modifier une chaîne de connexion, sélectionnez-la.
Dans la boîte de dialogue, vous pouvez conserver la chaîne de connexion dans l'emplacement actuel.
Lorsque vous avez terminé, sélectionnez Appliquer. N’oubliez pas de sélectionner Appliquer dans la page Variables d’environnement.
Modifier des chaînes de connexion en bloc
Sélectionnez le bouton Modification avancée. Modifiez les chaînes de connexion dans la zone de texte. Lorsque vous avez terminé, sélectionnez Appliquer. N’oubliez pas de sélectionner Appliquer dans la page Variables d’environnement.
Les chaînes de connexion affichent le format JSON suivant :
[
{
"name": "name-1",
"value": "conn-string-1",
"type": "SQLServer",
"slotSetting": false
},
{
"name": "name-2",
"value": "conn-string-2",
"type": "PostgreSQL",
"slotSetting": false
},
...
]
Configurer les paramètres de la pile de langage
Configurer les paramètres généraux
Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application. Dans le menu de gauche de l'application, sélectionnez Configuration>Paramètres généraux.
Ici, vous pouvez configurer quelques paramètres communs pour l'application. Certains paramètres vous obligent à monter en puissance vers des niveaux de tarification supérieurs.
Paramètres de la pile : La pile logicielle pour exécuter l'application, y compris le langage et les versions SDK.
Pour les applications Linux, vous pouvez sélectionner la version du runtime de langage et définir une commande de démarrage facultative ou un fichier de commandes de démarrage.
Paramètres de la plateforme : Vous permet de configurer les paramètres de la plateforme d'hébergement, notamment :
- Nombre de bits de la plateforme : 32 bits ou 64 bits. Pour applications Windows uniquement.
- État FTP : autoriser uniquement FTPS ou désactiver le protocole FTP.
- Version HTTP : Utilisez la version 2.0 pour activer la prise en charge du protocole HTTPS/2.
Notes
Les navigateurs les plus récents prennent en charge le protocole HTTP/2 sur TLS uniquement, alors que le trafic non chiffré continue d’utiliser HTTP/1.1. Pour vous assurer que les navigateurs clients se connectent à votre application avec le protocole HTTP/2, sécurisez votre nom DNS personnalisé. Pour plus d’informations, consultez Sécuriser un nom DNS personnalisé avec une liaison TLS/SSL dans Azure App Service.
Sockets web : Pour ASP.NET SignalR ou socket.io, par exemple.
Toujours actif : Garde l'application chargée même s’il n'y a aucun trafic. Lorsque l’option Toujours actif n’est pas activée (par défaut),l’application est déchargée après 20 minutes sans requêtes entrantes. L’application déchargée peut provoquer une latence élevée pour les nouvelles requêtes en raison de son temps de préparation. Lorsque l’option Always on est activée, l’équilibreur de charge frontal envoie une requête GET à la racine de l’application toutes les cinq minutes. Il est important de s’assurer que cette demande reçoit une réponse 200 OK pour que les opérations de recréation d’image soient effectuées correctement. La commande ping continue empêche le déchargement de l’application.
Vous devez activer Always On pour les WebJobs continus ou pour les WebJobs déclenchés à l’aide d’une expression CRON.
Affinité de session : dans un déploiement multi-instance, vérifiez que le client est routé vers la même instance pendant toute la session. Vous pouvez définir cette option sur Off (Désactivée) pour les applications sans état.
Proxy d’affinité de session : vous pouvez activer le proxy d’affinité de session si votre application se trouve derrière un proxy inverse (comme Azure Application Gateway ou Azure Front Door) et que vous utilisez le nom d’hôte par défaut. Le domaine du cookie d’affinité de session s’aligne sur le nom d’hôte transféré du proxy inverse.
HTTPS uniquement : lorsqu’il est activé, tout le trafic HTTP est redirigé vers HTTPS.
Version TLS minimum : Sélectionnez la version de chiffrement TLS minimale requise par votre application.
Débogage : Activez le débogage à distance pour les applications ASP.NET, ASP.NET Core ou Node.js. Cette option se désactive automatiquement au bout de 48 heures.
Certificats clients entrants : demander des certificats clients dans une authentification mutuelle.
Configurer les documents par défaut
Ce paramètre ne concerne pour les applications Windows.
Le document par défaut est la page web qui s’affiche à l’URL racine d’une application App Service. Le premier fichier correspondant dans la liste est utilisé. Si l’application utilise des modules qui effectuent un routage en fonction de l’URL, au lieu de proposer du contenu statique, il n’existe aucun document par défaut.
Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.
Dans le menu de gauche de l'application, sélectionnez Configuration>Documents par défaut.
Pour ajouter un document par défaut, sélectionnez Nouveau document. Pour supprimer un document par défaut, sélectionnez Supprimer à droite.
Mapper un chemin d’URL à un répertoire
Par défaut, App Service démarre votre application à partir du répertoire racine de votre code d’application. Cependant, certains frameworks web ne démarrent pas dans le répertoire racine. Par exemple, Laravel démarre dans le sous-répertoire public
. Une telle application serait accessible à partir de l’adresse http://contoso.com/public
, par exemple, mais il est préférable de diriger http://contoso.com
vers le répertoire public
. Si le ficher de démarrage de votre application se trouve dans un autre dossier, ou si votre référentiel contient plusieurs applications, vous pouvez modifier ou ajouter des applications et des répertoires virtuels.
Important
La fonctionnalité de répertoire virtuel vers un chemin physique est disponible uniquement sur les applications Windows.
Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.
Dans le menu de gauche de l’application, sélectionnez Configuration>Mappages de chemin d’accès.
Sélectionnez Nouvelle application virtuelle ou nouveau répertoire virtuel.
- Pour mapper un répertoire virtuel à un chemin d’accès physique, laissez la case à cocher Répertoire activée. Indiquez le répertoire virtuel et le chemin d’accès relatif (physique) correspondant à la racine du site web (
D:\home
). - Pour marquer un répertoire virtuel en tant qu’application web, désactivez la case à cocher Répertoire.
- Pour mapper un répertoire virtuel à un chemin d’accès physique, laissez la case à cocher Répertoire activée. Indiquez le répertoire virtuel et le chemin d’accès relatif (physique) correspondant à la racine du site web (
Cliquez sur OK. N'oubliez pas de sélectionnez Enregistrer dans la page Configuration.
Configurer les mappages de gestionnaire
Pour les applications Windows, vous pouvez personnaliser les mappages de gestionnaire IIS ainsi que les applications et répertoires virtuels. Les mappages de gestionnaire vous permettent d’ajouter des processeurs de script personnalisés pour gérer les requêtes portant sur des extensions de fichiers spécifiques.
Pour ajouter un gestionnaire personnalisé :
Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.
Dans le menu de gauche, sélectionnez Configuration>Mappages de chemin d’accès.
Sélectionnez Nouveau mappage de gestionnaire. Configurez le gestionnaire comme suit :
- Extension. Extension de fichier à gérer, par exemple *.php ou handler.fcgi.
- Processeur de script. Chemin d'accès absolu du processeur de script vers vous. Les requêtes de fichiers qui correspondent à l'extension de fichier sont traitées par le processeur de script. Utilisez le chemin
D:\home\site\wwwroot
pour faire référence au répertoire racine de votre application Web. - Arguments. Arguments de ligne de commande facultatifs pour le processeur de script.
Cliquez sur OK. N'oubliez pas de sélectionnez Enregistrer dans la page Configuration.
Configurer des conteneurs personnalisés
- Configurer un conteneur personnalisé pour Azure App Service
- Ajouter du stockage personnalisé pour votre application conteneurisée
Étapes suivantes
- Informations de référence sur les variables d’environnement et les paramètres d’application
- Configuration d’un nom de domaine personnalisé dans Azure App Service
- Configurer des environnements intermédiaires dans Azure App Service
- Sécuriser un nom DNS personnalisé avec une liaison TLS/SSL dans Azure App Service
- Activer les journaux de diagnostic
- Mettre à l’échelle une application dans Azure App Service
- Concepts de base de la supervision dans Azure App Service
- Modifier les paramètres applicationHost.config avec applicationHost.xdt