Paramètres de proxy ASP.NET Core : launchSettings.json face à la production
Distinguez les valeurs de proxy du profil de lancement de développement de l'environnement et du gestionnaire HTTP utilisés par un processus ASP.NET Core déployé.
Une valeur de proxy dans launchSettings.json appartient à un profil de lancement de développement. La publication de l'application ne fait pas de ce profil l'environnement d'un processus de travail IIS, d'un service ou d'un conteneur.
En cas d'échec en production, examinez le processus qui démarre réellement l'application. Son environnement, son compte et son gestionnaire HTTP déterminent quelles entrées de proxy sont disponibles.
| Où cela fonctionne | Quoi comparer après le déploiement |
|---|---|
| Profil de lancement de l'IDE | L'environnement du processus hôte |
| Session utilisateur interactive | Le compte de service et ses paramètres de proxy |
| Un client HTTP créé manuellement | Le gestionnaire utilisé par le client injecté de l'application |
L'initialisation du proxy par défaut du HttpClient moderne suit des règles d'environnement et de configuration système propres à la plateforme. Un gestionnaire configuré explicitement peut remplacer ces valeurs par défaut. Avec IHttpClientFactory, vérifiez l'enregistrement du gestionnaire principal du client nommé et le nom récupéré au point d'appel. Vérifiez les deux entrées avant de conclure qu'un fichier de configuration a été ignoré.
Les anciens exemples system.net/defaultProxy du .NET Framework décrivent un autre modèle de configuration. Ne collez pas cette section dans un fichier de déploiement moderne et ne supposez pas que toute implémentation HTTP .NET l'utilise. Dans un déploiement IIS, le module ASP.NET Core dispose aussi d'un mécanisme pris en charge de configuration de l'environnement du processus ; conservez le reste de cette configuration d'hébergement lorsque vous ajoutez des valeurs.
Notez si la variable attendue existe sans publier sa valeur complète porteuse d'identifiants. Confirmez ensuite que le client qui effectue la requête échouée utilise cette source. Un lanceur correctement configuré ne peut pas réparer un client qui emprunte délibérément une autre voie.