Proxyoppsett i npm for HTTP og HTTPS
Sett opp HTTP- og HTTPS-proxyrutene i npm, forstå noproxy-unntak og håndter en privat CA mens TLS-verifisering beholdes.
npm skiller mellom proxy og https-proxy. Det som skiller dem, er destinasjonen forespørselen går til. Med en vanlig HTTP-proxy som lager HTTPS-tunneler, kan begge verdier vise til samme http://-endepunkt.
En prosjektlokal .npmrc kan ha dette innholdet:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Bytt ut dokumentasjonseksemplet med proxyen din. For tillatte prøver mot offentlige registre tilbyr listen over HTTP-proxyer aktuelle HTTP-adresser. Den siste linjen lar med hensikt det nevnte interne registeret nås direkte. Den angir ingen ekstra proxyadresse.
La npm gjøre et nettverkskall
En installasjon fra cache er en svak rutetest: npm kan ha det nødvendige fra før. Et ping til registeret er en mindre kontroll:
npm ping --registry=https://registry.npmjs.org/
At kommandoen lykkes, viser at nettopp dette npm-kallet nådde ruten til dette registeret. Det fastslår ikke at alle tarball-verter, Git-avhengigheter eller selvstendige pakkebehandlerprosesser bruker den samme veien.
For å finne en innstilling som kolliderer, undersøk verdiene som faktisk gjelder før du redigerer flere filer:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Disse kommandoene kan vise legitimasjon dersom den står i en URL. Les utdata på din egen maskin i stedet for å lime dem uendret inn i en problemrapport.
Prosjektets .npmrc blir ikke brukt ved globale installasjoner. Mislykkes bare npm install -g, sjekk den faktiske konfigurasjonen for det kallet fremfor å forutsette at prosjektfilen ble lest.
Se på unntakene før du skifter IP
npm virker også med miljøvariabler for proxyer, og noproxy kan stamme fra NO_PROXY. En destinasjon som er unntatt i det virksomme oppsettet, kan koble til direkte selv om en proxy er angitt. Å fjerne én linje i én .npmrc fjerner på sin side ikke en miljøvariabel som er arvet.
Skill ut sertifikatfeilene
En godkjent proxy som inspiserer trafikken, kan kreve organisasjonens CA som Node/npm-miljøet ennå ikke har tillit til. npm kan bruke en CA-fil:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Bruk den reelle, godkjente samlingen for miljøet. strict-ssl=false reduserer sertifikatkontrollen og er ingen erstatning for riktig proxy eller riktige tillitsdata.
Etter testingen fjerner du prosjektoverstyringene du la inn, og gransker de effektive verdiene på nytt. Da arver prosjektet oppsettet det brukte før, uten å endre andre prosjekter på samme datamaskin.