НПМ за проверку подлинности NTLM прокси
можно ли запустить npm install
за HTTP-прокси, который использует NTLM проверка подлинности? Если да, то как я могу установить адрес и порт сервера, имя пользователя и пароль?
8 ответов:
я решил это таким образом (OS: Windows XP SP3):
1. скачать CNTLM установщик и запустить его.
2. найдите и заполните эти поля в cntlm.Ини. не заливайте в
Password
поле, это никогда не хорошая идея, чтобы хранить незашифрованные пароли в текстовых файлах.Username YOUR_USERNAME Domain YOUR_DOMAIN Proxy YOUR_PROXY_IP:PORT Listen 53128
3. Откройте консоль и введите следующие команды для создания пароль гашиши.
> cd c:\the_install_directory_of_cntlm > cntlm -H Password: ...type proxy password here... PassLM D6888AC8AE0EEE294D954420463215AE PassNT 0E1FAED265D32EBBFB15F410D27994B2 PassNTLMv2 91E810C86B3FD1BD14342F945ED42CD6
4. скопируйте вышеуказанные три строки в cntlm.Ини, под поля. еще раз, не заполняйте
CNTLM ответ работал для меня, но с ошибками подключения сделать npm непригодным для использования. Я исправил их, добавив этот заголовок в CNTML.
Header Connection: close
вы можете передать настройки в виде параметров:
npm --proxy=http://username:password@proxyserver:port --proxy-https=http://username:password@proxyserver:port --registry=http://registry.npmjs.org/ install whateveryouwanttoinstall
вместо запуска CNTLM, вы можете вместо этого попробовать запустить Саша когда вам нужно использовать npm. Я обнаружил, что это работает в довольно заблокированных средах (например, инвестиционные банки). Это также инструмент, который довольно легко сделать бизнес-кейс для (Если вам нужно), так как он бесценен для проверки/создания/изменения HTTP-трафика.
Мне пришлось пройти этот маршрут раньше из - за использования аутентификации smartpass-т. е. у нас фактически не было паролей. На тех места установки CNTLM было бы невозможно.
Другой альтернативой является использование Px для Windows который говорит NTLM от вашего имени, как Cntlm и NTLMAps без необходимости предоставлять свои учетные данные. Он использует учетные данные зарегистрированного пользователя через SSPI.
CNTLM не работает для меня. Я перепробовал все возможные комбинации. NPM выдавал ошибку аутентификации. Скрипач пришел на помощь и спас мое время. Он прост в установке и настройке. Установите правило скрипача автоматически Authenticated.In .npmrc установить эти
registry=http://registry.npmjs.org proxy=http://127.0.0.1:8888 https-proxy=http://127.0.0.1:8888 http-proxy=http://127.0.0.1:8888 strict-ssl=false
это сработало для меня :)
Еще Один Вариант Скрипача:
второй способ заставить Fiddler действовать как HTTP-прокси для NTLM и других протоколов-оставить автоматическую аутентификацию параметры / правила по умолчанию на месте и перейдите к этой настройке из строки меню:
инструменты > из Telerik скрипач "параметры" > вкладка "подключения"
нажмите на кнопку Разрешить подключение удаленных компьютеров. Вы увидите диалоговое окно, объясняющее последствия включения этой опции. Перезапустите Fiddler и обновите .npmrc файл, как показано выше. Всякий раз, когда вам нужно npm для доступа к сайту реестра просто запустите Fiddler. Этот параметр не повлияет на способ скрипач работает для других захватов.
- открыть
.npmrc
file in C:\users\username\ папка с помощью блокнота- добавить следующие строки..
- замените домен, имя пользователя, pwd, имя_сервера с вашими правильными значениями
- попробуйте установить или получить пакеты сейчас
при попытке из Vs2017, закрыть и снова открыть VS IDE, то только это работает
proxy=http://DOMAIN%5CUSERNAME:PWD@proxy.servername.com:6050 https-proxy=http://DOMAIN%5CUSERNAME:PWD@proxy.servername.com:6050 http-proxy=http://DOMAIN%5CUSERNAME:PWD@proxy.servername.com:6050 strict-ssl=false
CNTLM работал на меня, как предложил кол. Спасибо кол за это. Просто хотел добавить, что есть некоторые странности в отдельных прокси, из-за которых пароль может быть не приемлем при использовании simple
cntlm -H
.использовать
cntlm -I -M http://test.com
и скопируйте нижеприведенную конфигурацию после стирания старых конфигураций, и вы должны пройти.выход как
--------------------------------------------------- Auth NTLM PassNT 8EE9B595A89F7D8774C2146FB302CBCF PassLM 78901DA9889727EDE28EF9F2769485B9 ----------------------------------------------------