2013-02-12 102 views
7

我有一個問題,當我嘗試克隆與協議「Https」我的Gitlab項目。隨着git協議一切正常。錯誤克隆項目gitlab與https

錯誤:

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

哪個GitLab版本,你運行? – VonC 2013-02-12 11:30:10

+0

這裏的問題相同。我有4.2的全新安裝以及4.2的升級安裝。 – bbodenmiller 2013-03-14 00:33:49

+0

你想克隆一個新項目嗎? – bbodenmiller 2013-03-14 08:00:48

回答

0

此錯誤的一個常見原因是某種形式的URL錯誤。確保你做對了。你可以通過HTTP克隆嗎?您的服務器是否設置爲通過HTTP和HTTPS提供存儲庫?

如果您的客戶端的git(讀的git --version輸出),也將無法使用智能HTTP後端。

GitLab issue #1924一個意見建議排除在服務器端的權限問題。

+0

沒有URL是正確的,但我無法通過HTTP進行克隆。我檢查了你給我的鏈接,但沒有解決我的問題。 – Florent 2013-02-12 13:20:45

+0

git版本是1.8.1.msysgit.1。 – bbodenmiller 2013-03-14 00:35:41

0

當您在.../gitlab/config/gitlab.yml配置文件中更改gitlab應用程序的relative_url_root變量的默認配置時,可能會發生此錯誤。默認值是/。當您將默認值更改爲例如/gitlab,將URL

http://your.domain/gitlab 

這被正確地顯示作爲克隆URL在用戶界面項目,例如

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

但不知何故,這個配置沒有被檢查,而是通過http或https進行實際克隆。

目前已經在github上gitlab問題列表已經得到了discussion and a bugfix了。這裏是the rawfile

我的配置是gitlab V5.0和gitlab殼V1.1.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/blob/master/web-server/apache/gitlab-ssl.conf