当我尝试使用协议“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?
我尝试了很多解决方案,但错误仍然存在。
有人可以帮助我吗?
感谢您的帮助,祝您度过愉快的一天!
答案 0 :(得分: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
答案 1 :(得分:0)
此错误的常见来源是URL中的某种错误。确保你做对了。你能通过HTTP克隆吗?您的服务器是否设置为通过HTTP和HTTPS提供存储库?
如果你的git客户端(读取git --version
的输出),它将无法使用智能HTTP后端。
GitLab issue #1924中的评论建议排除服务器端的权限问题。
答案 2 :(得分:0)
当您在relative_url_root
配置文件中更改了gitlab应用程序的.../gitlab/config/gitlab.yml
变量的默认配置时,可能会发生此错误。默认值为/
。将默认值更改为,例如/gitlab
,网址将是
http://your.domain/gitlab
这在UI中正确显示为项目的克隆URL,例如
http://your.domain/gitlab/group/project.git
但是不管怎样,在通过http或https进行实际克隆时都不会检查此配置。
github上的gitlab问题列表中已经有discussion and a bugfix。这是the rawfile。
我的配置是gitlab v5.0和gitlab-shell v1.1.0。