npm-proxyinstellingen voor HTTP en HTTPS
Stel npm-proxyroutes voor HTTP en HTTPS in, begrijp noproxy-uitzonderingen en gebruik een private CA zonder TLS-verificatie uit te schakelen.
npm heeft aparte instellingen proxy en https-proxy. Het verschil is de opgevraagde bestemming. Bij een gewone HTTP-proxy die HTTPS tunnelt, kunnen beide waarden naar hetzelfde http://-eindpunt wijzen.
Een .npmrc op projectniveau kan bevatten:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Vervang het documentatie-eindpunt door je proxy; voor toegestane tests van publieke registers biedt de lijst met HTTP-proxy’s HTTP-kandidaten. De laatste regel laat het genoemde interne register bewust rechtstreeks werken. Het is geen tweede proxyadres.
Laat npm een verzoek doen
Een installatie uit de cache is een slechte routetest: npm heeft mogelijk al alles wat nodig is. Een register-ping is een kleinere controle:
npm ping --registry=https://registry.npmjs.org/
Een geslaagde afronding toont dat deze npm-aanroep de route naar dat register bereikte. Het bewijst niet dat elke tarball-host, Git-afhankelijkheid of afzonderlijk pakketbeheerproces hetzelfde pad gebruikt.
Bekijk bij het zoeken naar een conflicterende instelling de effectieve waarden in plaats van meteen meer bestanden te wijzigen:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Deze opdrachten kunnen inloggegevens afdrukken als die in een URL staan. Bekijk de uitvoer lokaal in plaats van die ongewijzigd in een probleemmelding te plakken.
De .npmrc van een project wordt niet gebruikt voor globale installaties. Als alleen npm install -g mislukt, controleer dan de effectieve configuratie van die aanroep in plaats van aan te nemen dat deze het projectbestand las.
Controleer uitzonderingen voordat je de IP wijzigt
npm werkt ook met proxyomgevingsvariabelen en de instelling noproxy kan uit NO_PROXY komen. Een bestemming die de effectieve configuratie uitsluit, kan rechtstreeks verbinden hoewel een proxywaarde bestaat. Omgekeerd verwijdert het wissen van een regel uit één .npmrc geen geërfde omgevingsvariabele.
Houd certificaatfouten apart
Een geautoriseerde inspectieproxy kan een organisatie-CA vereisen die je Node/npm-omgeving nog niet vertrouwt. npm ondersteunt een CA-bestand:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Gebruik de echte goedgekeurde bundel voor die omgeving. strict-ssl=false verzwakt certificaatverificatie; het vervangt niet de keuze van de juiste proxy of vertrouwensgegevens.
Verwijder na de test de toegevoegde projectoverschrijvingen en bekijk de effectieve waarden opnieuw. Zo erft het project zijn eerdere configuratie zonder andere projecten op dezelfde machine te veranderen.