Ein allgemeiner Proxy passt nicht unbedingt zu jeder Paketquelle. Modernes Yarn unterstützt Netzwerkeinstellungen nach Hostname, sodass ein ausgewählter Host eine andere Route als die Standardroute verwenden kann.

Ein Projekt kann zum Beispiel eine allgemeine Route beibehalten und für eine interne Registry eine andere auswählen:

httpsProxy: "http://203.0.113.10:8080"
networkSettings:
  "registry.example.internal":
    httpsProxy: "http://203.0.113.20:8080"

Die beiden Adressen sind Platzhalter. Für eine allgemeine Route zu öffentlichen Paketquellen bietet die HTTP-Proxy-Liste Kandidaten, wenn öffentliche Proxys zulässig sind. Behalten Sie die Überschreibung für die interne Registry bei ihrem freigegebenen Proxy. Legen Sie die Konfiguration in der passenden .yarnrc.yml für eine moderne Yarn-Version ab. Dieses Beispiel wählt zwei Proxys aus; es bedeutet nicht, dass der interne Host eine direkte Verbindung herstellen soll.

Den angeforderten Hostnamen treffen

Der Eintrag in networkSettings gilt für ein Hostnamen-Muster, nicht für einen Paket-Scope und nicht für einen beliebigen URL-Pfad. Halten Sie eine Regel für einen einzelnen Host exakt, wenn genau das gemeint ist. Ein Platzhalter ist nur dann nützlich, wenn die zusätzlichen Hosts die Konfiguration tatsächlich gemeinsam nutzen sollen.

Ein Paket-Scope und ein Netzwerk-Hostname sind unterschiedliche Selektoren. Ein Paket mit Scope kann von einer Registry geladen werden, deren Host auch andere Pakete nutzen, während ein umgeleitetes Artefakt von einem ganz anderen Hostnamen stammen kann.

Den vollständigen Download-Pfad verfolgen

Wenn Metadaten einen Host verwenden und der Download eines Archivs einen anderen, können sie zu unterschiedlichen Netzwerkeinstellungen passen. Notieren Sie die URL, die tatsächlich fehlschlägt, bevor Sie die Regel erweitern. „Die Registry hat funktioniert“ belegt nicht, welche Route eine spätere Anfrage gewählt hat.

Die Einstellungen pro Host in Yarn können auch CA- und andere TLS-Konfigurationen umfassen. Halten Sie diese Entscheidungen getrennt: Die Wahl einer Proxy-Adresse liefert nicht von selbst das Vertrauen, das für eine prüfende Umgebung erforderlich ist.

Die Überschreibung sichtbar machen

Prüfen Sie die effektive Konfiguration des Projekts mit den Werkzeugen, die die jeweilige Yarn-Version unterstützt, und testen Sie dann die beabsichtigte Anfrage. Vermeiden Sie es, einen vollständigen Konfigurationsauszug weiterzugeben, wenn er Anmeldedaten enthält.

Diese Funktion ist nützlich, wenn die Hosts wirklich unterschiedliche Routen benötigen. Wenn jede Anfrage denselben Endpunkt verwenden soll, ist eine einzelne allgemeine Einstellung einfacher zu pflegen als eine wachsende Liste identischer Hostnamen-Überschreibungen.

Ähnliche Artikel