Gre*_*ill 19 git proxy ntlm msysgit
我正在尝试从需要NTLM身份验证的代理后面的Windows机器访问Github上的存储库.SSH和git://协议都不是直接可用的,所以我试图通过代理使用HTTPS.
在没有密码的NTLM代理的帮助下?我已经能够curl使用msysgit提供的二进制文件与代理一起使用:
curl -U : --proxy-ntlm --proxy xxx.xxx.xx.xx:8080 https://github.com
Run Code Online (Sandbox Code Playgroud)
这是成功的并返回Github主页.
但是,我发现了一篇来自2010年2月Proxying Git的文章(强调我的):
不幸的是,curl似乎总是使用代理进行基本身份验证.如果您的代理需要其他东西,可能是Windows网络的NTLM,那么您就遇到了问题.Curl用于处理所有http传输细节,这确实支持NTLM身份验证方法,但我知道没有方法可以将必要的选项传递给curl.Git通过其库绑定使用curl,因此不应该只使用包装器脚本替换curl可执行文件.
我知道core.gitproxyGit配置中的选项,但似乎只适用于git://协议.同样,该http.proxy选项设置代理的地址,但无法提供适当的卷曲选项.
我使用了CNTLM身份验证代理(虽然这很可能也适用于ntlmaps)所以git可以工作并添加http和https代理 http:// localhost:3218.Git需要很长时间来执行任何远程操作,如获取,拉取或克隆.
解决这个问题的方法是切换到使用它: http:// 127.0.0.1:3218
在.gitconfig中更改后,它的工作速度要快得多.
注意:删除http://和127.0.0.1之间的空格
例如:
[http]
proxy = http:// 127.0.0.1:3128
[https]
proxy = http:// 127.0.0.1:3128