Vienas bendras proksis gali netikti visiems paketų šaltiniams. Modernus Yarn palaiko tinklo nustatymus pagal serverio vardą, todėl pasirinktas serveris gali naudoti kitą maršrutą nei numatytasis.

Pavyzdžiui, projektas gali išlaikyti vieną bendrą maršrutą ir pasirinkti kitą vidiniam registrui:

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

Abu adresai yra vietos rezervai. Bendram maršrutui į viešuosius paketų šaltinius HTTP proksių sąrašas siūlo kandidatus, kai viešieji proksiai leidžiami. Vidinio registro perrašymą laikykite patvirtintame proksyje. Įdėkite konfigūraciją į tinkamą .yarnrc.yml, skirtą moderniam Yarn leidimui. Šis pavyzdys pasirenka du proksius; jis nesako, kad vidinis serveris turėtų jungtis tiesiogiai.

Suderinkite su prašomu serverio vardu

networkSettings įrašas taikomas serverio vardo šablonui, o ne paketo apimčiai ar savavališkam URL keliui. Laikykite vieno serverio taisyklę tikslią, kai to ir norite. Pakaitos simbolis naudingas tik tada, kai iš tiesų norite, kad papildomi serveriai dalytųsi ta pačia konfigūracija.

Paketo apimtis ir tinklo serverio vardas yra skirtingi selektoriai. Paketas su apimtimi gali būti gaunamas iš registro, kurio serveris dalijamasi su kitais paketais, o peradresuotas artefaktas gali ateiti iš visai kito serverio vardo.

Sekite visą atsisiuntimo kelią

Jei metaduomenys naudoja vieną serverį, o archyvo atsisiuntimas – kitą, jie gali atitikti skirtingus tinklo nustatymus. Užrašykite URL, kuris iš tikrųjų nepavyksta, prieš išplečiant taisyklę. „Registras veikė“ neįrodo, kokį maršrutą pasirinko vėlesnė užklausa.

Yarn nustatymai pagal serverį taip pat gali apimti CA ir kitą TLS konfigūraciją. Laikykite tuos sprendimus atskirai: proksio adreso pasirinkimas pats savaime nesuteikia pasitikėjimo, reikalingo tikrinančiai aplinkai.

Padarykite perrašymą matomą

Patikrinkite projekto galiojančią konfigūraciją įrankiais, kuriuos palaiko jo Yarn leidimas, tada išbandykite numatytą užklausą. Venkite bendrinti visą konfigūracijos išklotinę, jei joje yra prisijungimo duomenų.

Ši funkcija naudinga, kai serveriams iš tikrųjų reikia skirtingų maršrutų. Jei kiekviena užklausa turėtų naudoti tą patį endpoint'ą, vienas bendras nustatymas yra lengviau prižiūrimas nei augantis identiškų serverio vardų perrašymų sąrašas.

Susiję straipsniai