7

当我尝试使用协议“Https”克隆我的 Gitlab 项目时遇到问题。使用 git 协议一切正常。

错误:

Cloning into 'test'...
fatal: https://XXXX.XXXX.XXXX.XXXX/user.name/test.git/info/refs?service=git-upload-pack
not found: did you run git update-server-info on the server?

我尝试了很多解决方案,但错误仍然存​​在。

有人可以帮助我吗?

感谢您的帮助,祝您有美好的一天!

4

3 回答 3

2

我的问题是 Apache 配置文件。我的示例配置

<VirtualHost ip:80>
  ServerName git.domain.tld
  Redirect permanent / https://git.domain.tld/
</VirtualHost>

<VirtualHost ip:443>
  ServerName git.domain.tld
  DocumentRoot /home/git/gitlab/public

  <Location />
    ProxyPassReverse http://127.0.0.1:8080
    ProxyPassReverse http://git.domain.tld
  </Location>

  RewriteEngine on
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule .* http://127.0.0.1:8080%{REQUEST_URI} [P,QSA]
  RequestHeader set X_FORWARDED_PROTO 'https'
</VirtualHost>

来源:https ://github.com/gitlabhq/gitlab-recipes/tree/master/web-server/apache

于 2014-01-27T23:29:47.690 回答
0

此错误的常见来源是 URL 中的某种错误。确保你做对了。你可以通过 HTTP 克隆吗?您的服务器是否设置为通过 HTTP 和 HTTPS 为存储库提供服务?

如果您的 git 客户端(读取 的输出git --version),它将无法使用智能 HTTP 后端。

GitLab 问题 #1924中的一条评论建议排除服务器端的权限问题。

于 2013-02-12T11:28:17.117 回答
0

当您relative_url_root在配置文件中更改了 gitlab 应用程序的变量的默认配置时,可能会发生此错误.../gitlab/config/gitlab.yml。默认值为/。当您将默认值更改为,例如/gitlab,url 将是

    http://your.domain/gitlab

这在 UI 中正确显示为项目的克隆 URL,例如

    http://your.domain/gitlab/group/project.git

但不知何故,在通过 http 或 https 进行实际克隆时,未检查此配置。

在 github 上的 gitlab 问题列表中已经进行了讨论和修正。这是原始文件

我的配置是 gitlab v5.0 和 gitlab-shell v1.1.0。

于 2013-04-19T09:43:36.217 回答