Прокси настройки на npm за HTTP и HTTPS
Настройте HTTP и HTTPS прокси маршрутите на npm, разберете noproxy изключенията и използвайте частен CA без изключване на TLS проверката.
npm има отделни настройки proxy и https-proxy. Разликата е целта на заявката. За обикновено HTTP прокси, което тунелира HTTPS, и двете стойности могат да сочат същата http:// крайна точка.
Проектен .npmrc може да съдържа:
proxy=http://203.0.113.10:8080
https-proxy=http://203.0.113.10:8080
noproxy=localhost,127.0.0.1,registry.example.internal
Заменете документационната точка със своето прокси; за разрешени тестове на публичен регистър списъкът с HTTP проксита дава HTTP кандидати. Последният ред нарочно оставя посочения вътрешен регистър директен. Той не е друг прокси адрес.
Накарайте npm да изпрати заявка
Инсталация от кеша е слаб тест на маршрута: npm може вече да има всичко нужно. Пинг на регистъра е по-малка проверка:
npm ping --registry=https://registry.npmjs.org/
Успешното завършване показва, че това извикване на npm е достигнало маршрута до този регистър. То не доказва, че всеки tarball хост, Git зависимост или отделен процес на пакетен мениджър използва същия път.
За да намерите конфликтна настройка, проверете действащите стойности, вместо веднага да редактирате още файлове:
npm config get proxy
npm config get https-proxy
npm config get noproxy
Тези команди могат да отпечатат данни за вход, ако са вградени в URL. Проверете изхода локално, вместо да го поставяте непроменен в доклад за проблем.
Проектният .npmrc не се използва за глобални инсталации. Ако само npm install -g се проваля, проверете действащата конфигурация на това извикване, вместо да приемате, че е прочело проектния файл.
Проверете изключенията преди смяна на IP
npm работи и с прокси променливи на средата, а настройката noproxy може да идва от NO_PROXY. Цел, изключена от действащата конфигурация, може да се свърже директно дори при налична прокси стойност. Обратно, изтриване на ред от един .npmrc не премахва наследена променлива на средата.
Отделете грешките в сертификатите
Разрешено инспектиращо прокси може да изисква CA на организацията, на който вашата Node/npm среда още не се доверява. npm поддържа CA файл:
cafile=/path/to/approved-ca-bundle.pem
strict-ssl=true
Използвайте действителния одобрен набор за тази среда. strict-ssl=false отслабва проверката на сертификати; не заменя избора на правилно прокси или доверителни материали.
След теста премахнете добавените проектни презаписвания и проверете отново действащите стойности. Така проектът наследява предишната конфигурация без промяна на други проекти на същата машина.