【问题标题】:git refuses to connect without proxygit拒绝在没有代理的情况下连接
【发布时间】:2015-06-14 10:22:28
【问题描述】:

我在 Windows 环境中的 Linux 系统上工作。为了使用 NT 代理服务器进行身份验证,我设置了cntlm,并通过在/etc/environment 文件中设置http_proxy 环境变量来配置系统程序以使用它。

现在我想删除此代理设置并让程序直接连接。

所以我取消了系统环境变量:

unset http_proxy
unset HTTP_PROXY

检查~/.gitconfig 以确保没有代理条目。

明确指示git不要使用任何代理:

git config --global --unset http.proxy
git config --global --unset https.proxy

验证没有配置代理:

git config --system --get https.proxy 
git config --global --get https.proxy 
git config --system --get http.proxy 
git config --global --get http.proxy 

然后推送到远程仓库:

git push

git 仍然尝试通过代理连接:

致命:无法访问“https://xxx@bitbucket.org/xxx.git/”:失败 连接到 127.0.0.1 端口 3128:连接被拒绝

为什么不放开cntlm

【问题讨论】:

  • 你检查是否有任何代理集? env|grep -i proxy
  • @VocC 感谢 VonC。我以为我已经删除了unset http_proxy 的代理。但是 HTTPS 有一个不同的环境变量,需要单独取消设置。运行env|grep -i proxy 揭示了这一点。
  • @VonC 我已经使用apt-get remove cntlm 从系统中卸载了cntlm。您知道我如何调试现在设置变量的原因(以及从哪里设置)吗?
  • 你的意思是 HTTP_PROXY 一直在设置吗?
  • @VonC 是的。每次打开新的终端窗口时,我都必须手动取消设置。我在我的主目录中尝试了rgrep https_proxy/etc,但找不到任何东西。

标签: git proxy


【解决方案1】:

最简单的检查是:

env|grep -i proxy

OP 确认:

我以为我通过取消设置 http_proxy 删除了 proxy
但是 HTTPS 有一个不同的环境变量,需要单独取消设置。运行env|grep -i proxy 揭示了这一点。

【讨论】:

    【解决方案2】:
    1. 使用cat ~/.这将列出所有文件。
    2. 使用cat ~/.gitconfig这将打开文件的内容。
    3. 如果您发现任何代理,请将其删除

      [http] 代理=http://127.0.0.1:3128

    4. 您可以使用nano ~/.gitconfig 命令将其删除。

    5. 现在这个命令可以工作了。

      /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    还记得删除所有代理,如

    unset http_proxy="http_proxy"
    unset https_proxy=$http_proxy
    unset ftp_proxy=$http_proxy
    unset rsync_proxy=$http_proxy
    unset HTTP_PROXY=$http_proxy
    unset HTTPS_PROXY=$http_proxy
    unset FTP_PROXY=$http_proxy
    unset RSYNC_PROXY=$http_proxy
    

    记住要从系统偏好网络中删除代理,并取消选中现在尝试执行的所有复选框。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-14
      • 1970-01-01
      • 1970-01-01
      • 2017-08-29
      • 1970-01-01
      • 2011-01-20
      相关资源
      最近更新 更多