一尘不染

NTLM代理背后的NPM

node.js

是否可以在npm install使用NTLM身份验证的HTTP代理后面运行?如果是,如何设置服务器的地址和端口,用户名和密码?


阅读 283

收藏
2020-07-07

共1个答案

一尘不染

我通过以下方式解决了此问题(操作系统:Windows XP SP3):

1. 下载CNTLM安装程序并运行它。

2. 在cntlm.ini中找到并填写这些字段。 不要填写该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. 将以上三行复制到该Domain字段下的cntlm.ini中。 _再一次,不要填写该Password字段。_保存cntlm.ini。

5. 打开服务管理器(从命令行:services.msc),然后启动名为“ CNTLM身份验证代理”的服务。

6. 在控制台中,键入以下行:

> npm config set proxy http://localhost:53128
> npm config set https-proxy http://localhost:53128
> npm config set registry https://registry.npmjs.org

7. 现在npm viewnpm install等应能正常工作。例:

> npm view qunit
...nice answer, no errors :)
2020-07-07