通过 https 代理使用 git clone 超时

2024-02-05

命令“git克隆https://github.com/user/project.git https://github.com/user/project.git" 通过 https 代理使用时超时。

我之前已经成功地让 git 在代理后面运行,并且阅读了与 git 和代理使用相关的其他 stackoverflow。现在,我已在当前​​组织中的主机上将其配置为使用非身份验证代理,但它超时了。

  • 代理是鱿鱼,非身份验证
  • 不能直接通过 TCP-443 连接
  • 我已经确认 git 正在联系代理
  • Git 发出命令“CONNECT github.com:443 HTTP/1.1”
  • 代理允许请求并在端口 443 上连接到 github.com
  • libcurl验证github的证书并建立SSL连接(SSL_RSA_WITH_RC4_128_SHA)
  • git 继续坐在那里,等待一些永远不会发生的事情
  • 发生超时

有谁之前经历过这个吗?有什么建议吗?

这是系统版本:

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 6.4 (Santiago)

这是git版本和更新信息(RH中最新可用)

$ git --version
git version 1.7.11.3

$ sudo yum check-update git    
Loaded plugins: downloadonly, rhnplugin, security
This system is receiving updates from RHN Classic or RHN Satellite.

以下是相关的环境变量:

$ export | grep http
declare -x http_proxy="http://proxy.hostname:3128/"
declare -x https_proxy="http://proxy.hostname:3128/"

这是我的 .gitconfig (用于冗余):

$ cat ~/.gitconfig
[http]
        proxy = http://proxy.hostname:3128/
[https]
        proxy = http://proxy.hostname:3128/

这是 git 运行(并最终超时)的示例:

$ GIT_CURL_VERBOSE=1 GIT_DEBUG_LOOKUP=1 GIT_TRANSLOOP_DEBUG=1 GIT_TRANSPORT_HELPER_DEBUG=1 git clone https://github.com/user/project.git 2>&1
Cloning into 'project'...
Debug: Remote helper: -> capabilities
Debug: Remote helper: Waiting...
Debug: Remote helper: <- fetch
Debug: Got cap fetch
Debug: Remote helper: Waiting...
Debug: Remote helper: <- option
Debug: Got cap option
Debug: Remote helper: Waiting...
Debug: Remote helper: <- push
Debug: Got cap push
Debug: Remote helper: Waiting...
Debug: Remote helper: <- 
Debug: Capabilities complete.
Debug: Remote helper: Waiting...
* Couldn't find host github.com in the .netrc file; using defaults
* About to connect() to proxy proxy.hostname 3128 (#0)
*   Trying 10.22.74.73... * Connected to proxy.hostname (x.x.x.x) port 3128 (#0)
* Establish HTTP proxy tunnel to github.com:443
> CONNECT github.com:443 HTTP/1.1
Host: github.com:443
User-Agent: git/1.7.11.3
Proxy-Connection: Keep-Alive
Pragma: no-cache

< HTTP/1.0 200 Connection established
< 
* Proxy replied OK to CONNECT request
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* SSL connection using SSL_RSA_WITH_RC4_128_SHA
* Server certificate:
*   subject: CN=github.com,O="GitHub, Inc.",L=San Francisco,ST=California,C=US,serialNumber=C3268102,incorporationState=California,incorporationCountry=US,businessCategory=Private Organization
*   start date: May 27 00:00:00 2011 GMT
*   expire date: Jul 29 12:00:00 2013 GMT
*   common name: github.com
*   issuer: CN=DigiCert High Assurance EV CA-1,OU=www.digicert.com,O=DigiCert Inc,C=US
* Connected to proxy.hostname (x.x.x.x) port 3128 (#0)

这是鱿鱼日志:

1367957877.701  60148 x.x.x.x TCP_MISS/200 3765 CONNECT github.com:443 - DIRECT/204.232.175.90 -

那么,这是怎么回事?有人有什么想法吗?


我在 CentOS 下的 rpmforge extra 存储库中使用 git 版本 1.7.11.3 时遇到了完全相同的问题

降级到旧版本(我使用 1.7.3.4 进行测试)解决了该问题。

要降级,你可以这样做

yum --showduplicates list git

这将显示 git 包的所有可用版本

卸载以前安装的git版本:

yum remove git

安装旧版本:

yum install git-1.7.3.4
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 https 代理使用 git clone 超时 的相关文章

  • 如果提交格式不正确,是否可以拒绝 Github 上的提交?

    正如中提到的this https stackoverflow com a 6742691 1501285答案 可以在 Github 提交中引用问题 是否可以拒绝它的提交not格式化成这样 Example fix gh 12 foo bar是
  • Git分支切换不会改变代码文件夹文件

    这是后续this https stackoverflow com questions 9406651 code base for git master feature branch问题 我使用克隆了远程主项目文件夹git clone ema
  • 可以使用 git 项目并在 VS2013 中查看 TFS 工作项吗?

    所以我升级到了VS2013 希望能顺利进行所有开发 不过有一件事确实让我很恼火 我的团队使用 TFS 而我更喜欢 git 因此我使用 git tfs 来桥接两者以进行源代码控制 我们使用 TFS 工作项来跟踪错误和故事等 如果重要的话 我也
  • 如何将 HEAD 移回之前的位置? (分离头)和撤消提交

    在 Git 中 我试图做一个squash commit通过合并到另一个分支然后重置HEAD通过以下方式前往上一个地点 git reset origin master 但我需要走出这一步 如何将 HEAD 移回之前的位置 我有 SHA 1 片
  • 如何给 Git 控制台着色?

    我最近看到gitWindows 中的控制台是彩色的 例如绿色表示添加 红色表示删除等 我如何为我的颜色上色git这样的控制台 为了安装它 我使用了以下命令 sudo apt get install git core As noted htt
  • 我应该从哪里安装 git:xcode-select --install 还是brew install git?

    我应该从哪里安装 git xcode select install or brew install git 你需要做xcode select install无论如何 如果你想做任何开发 然后你可以做 brew install git 它将安
  • 当我所做的只是压缩提交时,为什么 git-rebase 会给我带来合并冲突?

    我们有一个包含 400 多个提交的 Git 存储库 其中前几十个提交需要大量的反复试验 我们希望通过将许多提交压缩为单个提交来清理这些提交 当然 git rebase 似乎是最佳选择 我的问题是它最终会产生合并冲突 而且这些冲突并不容易解决
  • 是否可以在不从 git 克隆或拉取的情况下获取分支名称?

    我想获取 git 存储库的所有分支名称 目前 我克隆存储库 然后将它们获取到本地计算机上 这是低效的 因为我所需要的只是名称而不是其他 我想知道是否可以这样做 如果是这样 我可以使用什么命令 在本地 无需克隆 您可以键入 使用 gitls
  • 是否可以在 Git 项目的所有分支中执行“grep 搜索”?

    是否可以运行git grep在 Git 控件源项目的所有分支中 或者还有其他命令要运行吗 问题 如何在 Git 历史记录中 grep 搜索 提交的代码 https stackoverflow com q 2928584 6309 建议 gi
  • github 网络图查看器的替代品? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 当我单击 github 上的 forks 按钮时 我想获得一个摘要 这就是我使用网络图查看器获得的结果 但它并不完全理想 我会做什么ide
  • Git 粒度——解决一行内的差异

    git 基于行的粒度或 diff 粒度是否可以增加到单词 字母分辨率 每行多条语句或使用 git 编写纯文本是值得的 根据评论重新阅读问题时 我想我明白了您最初的意思 所以我将给出一个真正的答案 与伊斯梅尔 巴达维的一行评论 https s
  • git:推送单个提交

    假设我进行了多次提交 并希望挑选哪些提交到远程存储库 我该怎么做 在ascii中 C1 gt C2 gt C3 gt C4 我想推C2和C4 通过变基 重置 推送然后重置进行重新排序是否有效 C1 gt C2 gt C3 gt C4 gt
  • dulwich - 从远程仓库身份验证克隆

    我找不到有关此主题的任何资源 我需要通过提供用户名和密码从私有存储库进行克隆 然而 当它们作为关键字参数提供给 dulwich get client from path 时 会出现错误 提示 未知参数 用户名 这似乎是一件简单的事情 但我找
  • 如何在git中定义ESC字符?

    我想在 git 输出中使用着色 例如 git log decorate color 当我发出这个命令时 我得到的输出看起来像ESC 1 32m where ESC是反色的 在我看来 这是一个有效的转义序列 除了 033必须发送而不是字符E
  • 直接从我的 github 存储库部署到 heroku

    如何直接从 GitHub 远程存储库将应用程序部署到 Heroku 是否存在这样的命令 heroku push https github com user repository git 有小费吗 技巧 你可以将服务放在 Github 和 H
  • 如何使用 GitLab 管道中的密钥通过 SSH 连接到目标服务器?

    当 GitLab 管道成功时 我想通过 SSH 使用公钥连接到服务器 正如我所看到的 我需要在 GitLab 端使用 ssh keygen 生成一个密钥并将其添加到我想要连接的服务器上 我可以在管道期间生成密钥 但由于公钥未添加到目标服务器
  • AngularJs:显示来自 git 或 Bower 的版本号

    我创建了一个 Angular 应用程序 我想在屏幕上显示应用程序的当前版本号 目前我已将其实现为常量 application constant constants VERSION 1 1 2 但这需要我在每个新版本上更新常量 我使用 Bow
  • 获得干净的 git 沙箱的最有效方法是什么?

    对于我的持续集成构建 我想确保我的 git 沙箱中没有存放任何杂散文件 并且没有任何文件被无意中更改 我知道关于git reset hard HEAD 这解决了部分问题 但我想我想做的是删除所有未跟踪和忽略的文件 我可以用蛮力的方式做到这一
  • 如何快速查看哪个 Git 分支是最新的?

    例如 如果 git 上有 4 个分支 如下所示 branch1 branch2 current branch branch3 newest commits here master oldest 我的问题是 如何从 git 命令行检查我当前的
  • Mac 操作系统屏幕上的 Git 自动补全

    我在 mac 上使用 git 并配置了自动完成功能 如下所示http www codethatmatters com 2010 01 git autocomplete in mac os x http www codethatmatters

随机推荐