Configuració de proxy d’npm per a HTTP i HTTPS
Configura les rutes proxy HTTP i HTTPS d’npm, entén les exclusions noproxy i gestiona una CA privada sense desactivar TLS.
npm té configuracions separades proxy i https-proxy. La diferència és el destí que es demana. En un proxy HTTP normal que crea túnels HTTPS, tots dos valors poden apuntar al mateix punt http://.
Un .npmrc de projecte pot contenir:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Substitueix el punt de documentació pel teu proxy; per a proves permeses de registres públics, la llista de proxys HTTP proporciona candidats HTTP. L’última línia deixa expressament el registre intern indicat en connexió directa. No és una altra adreça proxy.
Demana a npm que faci una petició
Una instal·lació amb memòria cau és una mala prova de ruta: npm pot tenir ja tot el que necessita. Un ping al registre és una comprovació més petita:
npm ping --registry=https://registry.npmjs.org/
Que acabi correctament mostra que aquesta invocació d’npm ha arribat a la ruta d’aquell registre. No demostra que cada host de tarballs, dependència Git o procés separat d’un gestor de paquets utilitzi el mateix camí.
Per trobar una configuració en conflicte, inspecciona els valors efectius abans d’editar més fitxers:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Aquestes ordres poden mostrar credencials si estan incrustades en un URL. Inspecciona la sortida localment en lloc d’enganxar-la sense canvis en una incidència.
El .npmrc del projecte no s’utilitza per a instal·lacions globals. Si només falla npm install -g, comprova la configuració efectiva d’aquella invocació en lloc de suposar que ha llegit el fitxer del projecte.
Comprova les exclusions abans de canviar la IP
npm també funciona amb variables d’entorn de proxy, i el seu ajust noproxy pot provenir de NO_PROXY. Un destí exclòs per la configuració efectiva pot connectar directament encara que hi hagi un valor de proxy. A la inversa, esborrar una línia d’un .npmrc no elimina una variable d’entorn heretada.
Tracta els errors de certificat per separat
Un proxy d’inspecció autoritzat pot requerir una CA de l’organització en la qual la teva configuració Node/npm encara no confia. npm admet un fitxer CA:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Utilitza el conjunt aprovat real per a aquell entorn. Establir strict-ssl=false afebleix la verificació de certificats; no substitueix l’elecció del proxy o material de confiança correctes.
Quan acabis les proves, elimina les sobreescriptures de projecte que has afegit i revisa els valors efectius de nou. Així el projecte hereta la configuració anterior sense canviar altres projectes de la mateixa màquina.