web-dev-qa-db-ja.com

リポジトリクローンのGitlab HTTPS URIが機能しない-SSLホストを検証できませんでした-致命的:アクセスできません

Eclipse-> File-> Import-> Projects-> Projects from Git-> Clone URI-> enter repository HTTPS URI from Gitlabを作成すると、エラーが発生します。

考えられる理由:
不正なURL
ネットワーク接続がありません(プロキシ設定が間違っているなど)
SSLホストを検証できませんでした(Git構成でhttp.sslVerify = falseを設定してください)

Eclipse構成にhttp.sslVerify falseを追加しましたが、それでも機能しません。

Cmdでgit clone https://my.example.com/gitlab/root/repository.gitを作成すると、次のようになります。

'リポジトリ'へのクローン作成...
致命的: ' https://my.example.com/gitlab/root/repository.git 'にアクセスできません:要求されたURLがエラーを返しました:500

Gitlabの本番ログは次のことを示しています。

プロジェクトによる処理:: GitHttpController#info_refs as HTML
パラメータ:{"service" => "git-upload-pack"、 "namespace_id" => "Java"、 "project_id" => "project.git"}
102msで500の内部サーバーエラーを完了しました(ActiveRecord:2.5ms)
JWT :: DecodeError(Nil JSON Webトークン):
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 '

SSH URLは適切に機能します。 GitlabはApache2とHTTPSで使用されます。 /etc/gitlab/gitlab.rbに含まれるもの:

external_url ' https://my.example.com/gitlab '
web_server ['username'] = 'Apache'# 'gitlab-www'
web_server ['group'] = 'Apache'# 'gitlab-www'
nginx ['enable'] = false
ユニコーン['聞く'] = '127.0.0.1'
ユニコーン['ポート'] = 9099

/etc/Apache2/Apache2.confに含まれるもの:

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

使用バージョン:

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

同様の問題に関する記事があります GitLabでのHTTPSを介したクローン作成の問題の修正 が、/etc/gitlab/gitlab.rbgitlab-workhorse構成の変更は役に立ちませんでした。

同様の問題: ApacheをリバースプロキシとしてHTTP(S)を使用したgit操作でエラー5

この問題を解決する方法は?

2
Justas

9191ポートでgitlab-workhorseを有効化:

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'
ユニコーン['ポート'] = 9099

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

nginx ['enable'] = false

これがgitlab.rbの構成全体です。他の行はコメント化されています。

そして、/etc/Apache2/Apache2.confproxyPassを、Unicornの代わりに9191ポートで動作するgitlab-workhorseに作成しました。

ProxyPass/gitlab http://127.0.0.1:9191/gitlab
RequestHeader add X-Forwarded-Proto "https"
RequestHeaderがX-Forwarded-Sslをオンに設定

0
Justas