O URI do Gitlab HTTPS para clonagem de repositório não funciona - o host SSL não pôde ser verificado - fatal: não é possível acessar

3

Quando faço o Eclipse - > Arquivo - > Importar - > Projetos - > Projetos do Git - > Clone URI - > digite o URI do repositório HTTPS do Gitlab, recebo o erro:

Possible reasons:
Incorrect URL
No network connection (e.g. wrong proxy settings)
SSL host could not be verified (set http.sslVerify=false in Git configuration)

Eu adicionei http.sslVerify false na configuração do Eclipse, mas ainda não funciona.

Se eu fizer git clone https://my.example.com/gitlab/root/repository.git em cmd, obtenho:

Cloning into 'repository'...
fatal: unable to access 'https://my.example.com/gitlab/root/repository.git': The requested URL returned error: 500

Os registros de produção do Gitlab mostram:

Processing by Projects::GitHttpController#info_refs as HTML
Parameters: {"service"=>"git-upload-pack", "namespace_id"=>"java", "project_id"=>"project.git"}
Completed 500 Internal Server Error in 102ms (ActiveRecord: 2.5ms)
JWT::DecodeError (Nil JSON web token):
lib/gitlab/workhorse.rb:120:in 'verify_api_request!'
app/controllers/projects/git_http_client_controller.rb:154:in 'verify_workhorse_api!'
lib/gitlab/request_profiler/middleware.rb:15:in 'call'
lib/gitlab/middleware/go.rb:16:in 'call'

O URL SSH funciona bem. O Gitlab é usado com o Apache2 e o HTTPS. /etc/gitlab/gitlab.rb contém:

external_url 'https://my.example.com/gitlab'
web_server['username'] = 'apache' #'gitlab-www'
web_server['group'] = 'apache' #'gitlab-www'
nginx['enable'] = false
unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 9099

/etc/apache2/apache2.conf contém:

ProxyPass /gitlab http://127.0.0.1:9099/gitlab
ProxyPassReverse /gitlab http://127.0.0.1:9099/gitlab
RequestHeader add X-Forwarded-Proto https

Versões usadas:

GitLab 8.14.5
GitLab Shell 4.0.3
GitLab Workhorse 1.1.1
GitLab API v3
Git 2.7.4

Existe um artigo sobre problemas semelhantes Corrigindo problemas com clonagem via HTTPS no GitLab , mas modificar a configuração /etc/gitlab/gitlab.rb gitlab-workhorse não ajudou.

Problemas semelhantes: Erro 500 na operação do git usando HTTP (S) com o Apache como Proxy Reverso

Como resolver este problema?

    
por Justas 26.12.2016 / 11:12

1 resposta

0

Ativado gitlab-workhorse na porta 9191:

external_url 'https://my.example.com/gitlab'

gitlab_workhorse['enable'] = true
gitlab_workhorse['listen_network'] = "tcp"
gitlab_workhorse['listen_addr'] = "127.0.0.1:9191"

unicorn['listen'] = '127.0.0.1'
unicorn['port'] = 9099

web_server['external_users'] = ['www-data']
web_server['username'] = 'apache' #'gitlab-www'
web_server['group'] = 'apache' #'gitlab-www'

nginx['enable'] = false

Essa é toda a configuração do gitlab.rb, outras linhas são comentadas.

E transformamos proxyPass em /etc/apache2/apache2.conf no gitlab-workhorse trabalhando na porta 9191 em vez de Unicorn:

ProxyPass /gitlab http://127.0.0.1:9191/gitlab
RequestHeader add X-Forwarded-Proto "https"
RequestHeader set X-Forwarded-Ssl on

    
por 28.12.2016 / 09:50