【发布时间】:2013-04-15 17:30:03
【问题描述】:
我正在尝试让适用于 Windows 的 GitHub 客户端正常工作。我在公司代理和防火墙后面的公司 Win 7 x64 计算机上。关注其他各种帖子并尝试环境变量和配置变量的多种组合后,我发现让克隆和推送更新工作的唯一方法是使用 HTTPS_PROXY 环境变量,包括我的完整公司域用户 ID 和密码。
从安全角度来看,这是不可接受的。有没有其他方法可以让它工作?
补充说明:
以下工作:
- 添加一个名为
HTTPS_PROXY的环境变量,其值为http://[domain]\[userid]:[password]@someproxy.mycorp.com:8080
以下操作不起作用:
- 从
HTTPS_PROXY变量中省略用户 ID 和密码 - 使用名为
HTTP_PROXY的环境变量(无S) - 将
http.proxy变量添加到全局配置文件 (.gitconfig) - 将
https.proxy变量添加到全局配置文件中
在所有情况下,GitHub 客户端仍然无法识别代理:文件TheLog.txt的内容总是在启动时显示以下内容:
[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Proxy information: (None)
[time]|INFO|thread:4|GitHub.Helpers.StartupLogger|Couldn't fetch creds for proxy
然后是几次失败的代理身份验证尝试的输出,所有这些都表明“凭据丢失”。
【问题讨论】:
-
添加环境变量对我有用,但这是一个不可接受的解决方案,因为它会将我的域/密码暴露给任何可以访问环境变量的应用程序。
-
jacobbenson.com/?p=302#sthash.DzPYdGUU.dpbs 解释说这是由 gui(它正确使用 windows 设置代理)在后台为 git 命令调用 msysgit 引起的。 msysgit 使用 libcurl 处理 http 请求,它不使用 windows 代理设置。正在几个领域解决这个问题,包括 github.com/libgit2/libgit2sharp 的 libgit2sharp。
标签: github proxy github-for-windows