НПМ за проверку подлинности NTLM прокси


можно ли запустить npm install за HTTP-прокси, который использует NTLM проверка подлинности? Если да, то как я могу установить адрес и порт сервера, имя пользователя и пароль?

8 62

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. Этот параметр не повлияет на способ скрипач работает для других захватов.

  1. открыть .npmrc file in C:\users\username\ папка с помощью блокнота
  2. добавить следующие строки..
  3. замените домен, имя пользователя, pwd, имя_сервера с вашими правильными значениями
  4. попробуйте установить или получить пакеты сейчас
  5. при попытке из 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
----------------------------------------------------