Proxy-Einstellungen in ASP.NET Core: launchSettings.json versus Produktion
Unterscheiden Sie Proxywerte aus dem Entwicklungs-Startprofil von der Umgebung und dem HTTP-Handler eines bereitgestellten ASP.NET Core-Prozesses.
Ein Proxywert in launchSettings.json gehört zu einem Entwicklungs-Startprofil. Das Veröffentlichen der Anwendung macht dieses Profil nicht zur Umgebung eines IIS-Arbeitsprozesses, eines Dienstes oder eines Containers.
Bei einem Fehler in einer bereitgestellten Umgebung prüfen Sie den Prozess, der die Anwendung tatsächlich startet. Seine Umgebung, sein Konto und sein HTTP-Handler bestimmen, welche Proxy-Eingaben verfügbar sind.
| Wo es funktioniert | Was nach der Bereitstellung zu vergleichen ist |
|---|---|
| Startprofil in der IDE | Die Umgebung des Hostprozesses |
| Interaktive Benutzersitzung | Das Dienstkonto und seine Proxy-Einstellungen |
| Ein manuell erstellter HTTP-Client | Der Handler, den der injizierte Client der Anwendung verwendet |
Die Standard-Proxyinitialisierung des modernen HttpClient folgt plattformspezifischen Regeln für Umgebung und Systemkonfiguration. Ein explizit konfigurierter Handler kann diese Standardwerte überschreiben. Prüfen Sie bei IHttpClientFactory die Registrierung des primären Handlers des benannten Clients und den an der Aufrufstelle abgerufenen Namen. Prüfen Sie beide Eingaben, bevor Sie schließen, dass eine Konfigurationsdatei ignoriert wurde.
Ältere Beispiele zu system.net/defaultProxy aus dem .NET Framework beschreiben ein anderes Konfigurationsmodell. Fügen Sie diesen Abschnitt nicht in eine moderne Bereitstellungsdatei ein und nehmen Sie nicht an, dass jede .NET-HTTP-Implementierung ihn verwendet. Bei einer IIS-Bereitstellung verfügt das ASP.NET Core-Modul zudem über einen unterstützten Mechanismus zur Konfiguration der Prozessumgebung; erhalten Sie den übrigen Teil dieser Hostingkonfiguration, wenn Sie Werte hinzufügen.
Halten Sie fest, ob die erwartete Variable existiert, ohne ihren vollständigen, anmeldeinformationshaltigen Wert zu veröffentlichen. Bestätigen Sie dann, dass der Client, der die fehlgeschlagene Anforderung ausführt, diese Quelle verwendet. Ein korrekt konfigurierter Starter kann einen Client nicht reparieren, der bewusst einen anderen Weg verwendet.