Partager via


Configurer une application App Service

Cet article explique comment configurer des paramètres courants pour les applications web, un back-end mobile ou 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

Dans Azure App Service, les paramètres d’application sont des variables passées en tant que variables d’environnement au code de l’application. Les conditions suivantes s’appliquent aux paramètres de l’application :

  • 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 pour Linux avec la valeur "pa$$w0rd\", la chaîne du paramètre d’application doit être "pa\$\$w0rd\\".

Pour les applications Linux et les conteneurs personnalisés, App Service transmet les paramètres d’application au conteneur à l’aide de 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.

Pour les développeurs ASP.NET et ASP.NET Core, configurer les paramètres de l'application dans App Service, c'est comme les configurer dans <appSettings>, Web.config ou appsettings.json. Les valeurs dans App Service remplacent celles dans Web.config ou appsettings.json. Vous pouvez conserver les paramètres de développement, tels que le mot de passe MySQL local, dans Web.config ou appsettings.json. Vous pouvez conserver des secrets de production, tels que le mot de passe de base de données Azure MySQL, en toute sécurité dans App Service. Le même code utilise vos paramètres de développement lorsque vous déboguez localement. Il utilise vos secrets de production lorsque vous le déployez sur Azure.

D’autres piles de langage obtiennent les paramètres de l’application en tant que variables d’environnement au moment de l’exécution. Pour connaître les étapes spécifiques à chaque pile de langues, consultez :

Les paramètres d’application sont toujours chiffrés lorsqu’ils sont stockés (chiffrés au repos).

Remarque

Si vous stockez des secrets dans les paramètres de l’application, envisagez d’utiliser des références Azure Key Vault. Si vos secrets sont destinés à la connectivité aux ressources principales, envisagez des options de connectivité plus sécurisées et qui ne nécessitent pas de secrets. 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.

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

    Capture d’écran montrant les sélections permettant d’afficher les 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 afficher une valeur masquée d’un paramètre d’application, sous Valeur, sélectionnez Afficher la valeur. Pour afficher les valeurs masquées de tous les paramètres d’application, sélectionnez Afficher les valeurs.

    Remarque

    Les autorisations utilisateur en lecture/écriture sont requises pour afficher cette section dans le portail Azure. Les rôles intégrés RBAC disposant d’autorisations suffisantes sont Propriétaire, Contributeur et Contributeur de site web. Le rôle Lecteur seul n’est pas autorisé à accéder à cette page.

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

  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é, toute structure de clé JSON imbriquée dans le nom du paramètre d’application doit être configurée différemment pour le nom de la clé. Remplacez n’importe quel signe deux-points (:) par un trait de soulignement double (__). Remplacez tout point (.) par un trait de soulignement (_). Par exemple, ApplicationInsights:InstrumentationKey doit être configuré dans App Service comme ApplicationInsights__InstrumentationKey pour le nom de clé.

  5. Ensuite, cliquez sur Appliquer. Sélectionnez Ensuite Appliquer dans la page Variables d’environnement .

Modifier des paramètres d’application en bloc

  1. Sélectionnez Modification avancée.
  2. Modifiez les paramètres dans la zone de texte.
  3. Lorsque vous avez terminé, sélectionnez OK. Sélectionnez Ensuite 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

Cette section explique comment configurer des chaînes de connexion.

Remarque

Envisagez les options de connectivité plus sécurisées et qui ne nécessitent pas de secrets de connexion. Pour plus d’informations, consultez Connectivité sécurisée aux services et bases de données Azure à partir d’Azure App Service.

Pour les développeurs ASP.NET et ASP.NET Core, la définition de chaînes de connexion dans App Service ressemble à les définir dans <connectionStrings>Web.config. Les valeurs que vous définissez dans App Service remplacent celles dans Web.config. Vous pouvez conserver les paramètres de développement, tels qu’un fichier de base de données, dans Web.config. Vous pouvez conserver des secrets de production, tels que les informations d’identification de base de données SQL, en toute sécurité dans App Service. Le même code utilise vos paramètres de développement lorsque vous déboguez localement. Il utilise vos secrets de production lorsque vous le déployez sur Azure.

Pour les autres piles de langage, il est préférable d’utiliser les paramètres de l’application à la place. Les chaînes de connexion nécessitent une mise en forme spéciale dans les clés de variable pour accéder aux valeurs.

Il existe un cas où vous souhaiterez peut-être utiliser des chaînes de connexion au lieu des paramètres d’application pour les langues non-.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 :

  • SQL Server : SQLCONNSTR_
  • MySQL : MYSQLCONNSTR_
  • Azure SQL : SQLAZURECONNSTR_
  • Personnalisé : CUSTOMCONNSTR_
  • PostgreSQL : POSTGRESQLCONNSTR_
  • Azure Notification Hubs : NOTIFICATIONHUBCONNSTR_
  • Azure Service Bus : SERVICEBUSCONNSTR_
  • Azure Event Hubs : EVENTHUBCONNSTR_
  • Azure Cosmos DB : DOCDBCONNSTR_
  • Cache Redis : REDISCACHECONNSTR_

Remarque

Les applications .NET qui ciblent PostgreSQL, Notification Hubs, Service Bus, Event Hubs, Azure Cosmos DB et le cache Redis doivent définir la chaîne de connexion sur Custom comme solution de contournement pour 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 connaître les étapes spécifiques à chaque pile de langues, consultez :

Les chaînes de connexion sont toujours chiffrées lorsqu’elles sont stockées (chiffrées au repos).

Remarque

Vous pouvez également résoudre les chaînes de connexion à partir de Key Vault à l’aide de références Key Vault.

  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 Paramètres>Variables d’environnement. Sélectionnez ensuite 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 afficher une valeur masquée d’une chaîne de connexion, sous Valeur, sélectionnez Afficher la valeur. Pour afficher les valeurs masquées de toutes les chaînes de connexion, sélectionnez Afficher les valeurs.

  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. Ensuite, cliquez sur Appliquer. Sélectionnez Ensuite Appliquer dans la page Variables d’environnement .

Modifier des chaînes de connexion en bloc

  1. Sélectionnez Modification avancée.
  2. Modifiez les chaînes de connexion dans la zone de texte.
  3. Ensuite, cliquez sur 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

Pour configurer les paramètres de la pile linguistique, consultez les ressources suivantes :

Configurer les paramètres généraux

Pour configurer les paramètres généraux, suivez les étapes de vos outils préférés.

  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 des paramètres>. Ensuite, sélectionnez Paramètres généraux.

    Capture d’écran montrant les sélections pour ouvrir les 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 pile : configurez les paramètres de la pile logicielle pour exécuter l’application, y compris la langue et les versions du SDK.

    Pour les applications Linux, vous pouvez sélectionner la version du runtime de langage et définir une commande de démarrage facultative.

  • Paramètres de la plateforme : Configurez les paramètres de la plateforme d’hébergement, notamment :

    • Plateforme : choisissez 32 bits ou 64 bits. Pour applications Windows uniquement.

    • État FTP : autorisez uniquement FTPS ou désactivez complètement FTP.

    • Version HTTP : définissez sur 2.0 pour activer la prise en charge du protocole HTTPS/2 .

      Remarque

      La plupart des navigateurs modernes prennent uniquement en charge le protocole HTTP/2 sur TLS. 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 Fournir une sécurité pour un nom DNS personnalisé avec une liaison TLS/SSL dans App Service.

    • Web sockets : Configurez pour ASP.NET SignalR ou socket.io, par exemple.

    • Always On : activez si vous souhaitez conserver l’application chargée même s’il n’y a pas de trafic.

      Lorsque Always On est désactivé (par défaut), l’application est déchargée après 20 minutes sans aucune demande entrante. 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 Always On est activé, l’équilibreur de charge frontal envoie une GET requête à la racine de l’application toutes les cinq minutes. La commande ping continue empêche le déchargement de l’application.

      Always On est requis pour les WebJobs continus ou pour les WebJobs qu’une expression cron déclenche.

    • Affinité de session : dans un déploiement à plusieurs instances, assurez-vous que le client est acheminé vers la même instance pour la durée de vie de la session. Vous pouvez définir cette option sur Off (Désactivée) pour les applications sans état.

    • Proxy d’affinité de session : activez 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é à partir du proxy inverse.

    • HTTPS uniquement : activez si vous souhaitez rediriger tout le trafic HTTP vers HTTPS.

    • Version TLS minimale : sélectionnez la version minimale de chiffrement TLS 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 : exiger des certificats clients dans l’authentification mutuelle.

Configurer les documents par défaut

Le document par défaut est la page web qui apparaît à 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.

Le paramètre de configuration des documents par défaut est uniquement destiné aux 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. Sélectionnez ensuite les 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.

La fonctionnalité de mappage d’un répertoire virtuel à un chemin d’accès 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 des paramètres>. Ensuite, sélectionnez mappages de chemin.

  3. Sélectionnez Nouvelle application virtuelle ou nouveau répertoire virtuel. Effectuez ensuite l’une des actions suivantes :

    • Pour mapper un répertoire virtuel à un chemin d’accès physique, laissez Le répertoire sélectionné. 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ésélectionnez Répertoire.

    Capture d’écran des sélections pour l’affichage de la case à cocher Répertoire.

  4. Sélectionnez OK. Sélectionnez Ensuite 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 de l’application, sélectionnez Configuration des paramètres>. Ensuite, sélectionnez mappages de chemin.

  3. Sélectionnez Nouveau mappage de gestionnaire. Configurez le gestionnaire comme suit :

    • d’extension . Extension de fichier que vous souhaitez gérer, telle que *.php ou handler.fcgi.
    • Processeur de script. Chemin d'accès absolu du processeur de script vers vous. Le processeur de script traite les demandes adressées aux fichiers qui correspondent à l’extension de fichier. 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. Sélectionnez OK. Sélectionnez Ensuite Enregistrer dans la page Configuration .

Configurer des conteneurs personnalisés