Partage via


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.

  1. Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.

    Rechercher App Services

  2. Dans le menu de gauche de l’application, sélectionnez Variables d’environnement>Paramètres de l’application.

    Capture d’écran montrant comment accéder à la page Kudu d’App Service.

    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.

  3. Sélectionnez Ajouter pour ajouter un nouveau paramètre d’application. Pour modifier un paramètre, cliquez dessus.

  4. 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 que ApplicationInsights__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).

  5. 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.

  1. Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.

    Rechercher App Services

  2. Dans le menu de gauche de l’application, sélectionnez Variables d’environnement>Chaînes de connexion.

    Capture d’écran montrant le volet Chaînes de connexion ouvert.

    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.

  3. Pour ajouter une chaîne de connexion, sélectionnez Ajouter. Pour modifier une chaîne de connexion, sélectionnez-la.

  4. Dans la boîte de dialogue, vous pouvez conserver la chaîne de connexion dans l'emplacement actuel.

  5. 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.

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 généraux pour les conteneurs Linux

  • 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.

  1. Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.

  2. Dans le menu de gauche de l'application, sélectionnez Configuration>Documents par défaut.

    Documents par défaut

  3. 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.

  1. Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.

  2. Dans le menu de gauche de l’application, sélectionnez Configuration>Mappages de chemin d’accès.

  3. 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.

    Case à cocher Répertoire

  4. 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é :

  1. Dans le portail Azure, recherchez et sélectionnez App Services, puis sélectionnez votre application.

  2. Dans le menu de gauche, sélectionnez Configuration>Mappages de chemin d’accès.

    Mappages de chemin d’accès

  3. 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.
  4. Cliquez sur OK. N'oubliez pas de sélectionnez Enregistrer dans la page Configuration.

Configurer des conteneurs personnalisés

Étapes suivantes