Как исключить определенные домены из прокси-сервера npm
мы используем npm за брандмауэром компании и, таким образом, используем параметры прокси и https-прокси в конфигурации npm. Это прекрасно работает, пока все модули npm загружаются из внешнего реестра. Но на самом деле у нас также есть внутренние модули на внутреннем github. Конечно, доступ к этим модулям не должен использовать прокси-сервер. Мой вопрос: Могу ли я указать список доменов в конфигурации npm, для которых прокси не должен использоваться? Что-то вроде среды no_proxy переменная в оболочке unix?
2 ответов
предполагая, что ваша среда выглядит так:
- создать сервер с доступом в интернет только через прокси-сервер: ваш.полномочие.ведущий:3128
- Локальный Реестр Nexus:https://your.местный.связь.реестр / nexus / контент/группы/npm/
NPM должен использовать локальный реестр Nexus. Конфигурационный файл. :npmrc
registry = https://your.local.nexus.registry/nexus/content/groups/npm/
вы можете сказать npm использовать прокси, установив переменные среды
http_proxy=http://your.proxy.host:3128
https_proxy=http://your.proxy.host:3128
но тогда npm будет также попробуйте связаться с вашим (локальным) реестром Nexus с помощью прокси-сервера.
вам нужно иметь одну из последних версий npm (npm 2.14.7 отлично работает) и установить дополнительную переменную среды, чтобы исключить реестр Nexus из прокси-сервера:
no_proxy=your.local.nexus.registry
As adiesner указано, вы не можете установить noproxy
/no_proxy
на npm config
, поэтому единственный способ сделать это через переменные окружения:
npm config set registry "your.local.nexus.registry/nexus/content/groups/npm/"
export http_proxy="http://your.proxy.host:3128"
export https_proxy=$http_proxy
export no_proxy="your.local.nexus.registry"