我正在尝试在NTLM代理后面安装ruby gems。我的操作系统是Windows 7.这些都是我尝试过的解决方案,而不是它们的工作原理。
使用HTTP_PROXY:
set HTTP_PROXY=http://domain\user:pass@proxy.company.com:8080
set HTTP_PROXY=http://domain\\user:pass@proxy.company.com:8080
set HTTP_PROXY=http://domain\\user:pass@proxy.company.com:8080/
以上所有响应错误的URI
set HTTP_PROXY=http://user:pass@proxy.company.com:8080
响应:错误响应需要代理身份验证407
使用Ruby中的-p或--http-proxy参数
gem install -p "http://domain\user:pass@proxy.company.com:8080" rake
gem install -p "http://domain\\user:pass@proxy.company.com:8080" rake
gem install -p http://domain\user:pass@proxy.company.com:8080 rake
gem install -p http://domain\\user:pass@proxy.company.com:8080 rake
gem install --http-proxy "http://domain\user:pass@proxy.company.com:8080" rake
gem install --http-proxy "http://domain\\user:pass@proxy.company.com:8080" rake
gem install --http-proxy http://domain\user:pass@proxy.company.com:8080 rake
gem install --http-proxy http://domain\\user:pass@proxy.company.com:8080 rake
所有回复:无效参数
Try all the options above without the domain or encode the \ to %5C will receive reponse: bad response Proxy Authentication Required 407
在这些命令或设置中我错过了什么?
答案 0 :(得分:1)
您可以使用cntlm
http://cntlm.sourceforge.net/,这样您就拥有了一个不需要身份验证的本地代理(它依次连接到ntlm代理)。
答案 1 :(得分:1)
似乎暂时没有修复NTLM代理后面的工作rubygems:https://github.com/rubygems/rubygems/issues/360。 无论如何,我仍然没有办法解决它,唯一的解决方案是下载一个gem(处理所有依赖项)并在本地安装(从保存gem的文件夹内):
gem install your_gem_name --local
答案 2 :(得分:0)
我偶然发现了一个更简单,更安全的解决方案,它不仅适用于git,也适用于任何基于命令的安装程序
从命令行运行所有流量的一个解决方案代表了真实性。
不要在用户中公开您的密码:password @ domain:port format
<强>解决方案:
下载Fiddler,它有一种内置方法可以为所有请求添加身份验证标头。
运行菜单规则 - &gt;自动验证(勾选)
然后是git
git config --global http.proxy http://localhost:8888
git config --global https.proxy http://localhost:8888
多数民众赞成!