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.rb
gitlab-workhorse構成の変更は役に立ちませんでした。
同様の問題: ApacheをリバースプロキシとしてHTTP(S)を使用したgit操作でエラー5
この問題を解決する方法は?
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'
ユニコーン['ポート'] = 9099web_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.conf
のproxyPass
を、Unicornの代わりに9191ポートで動作するgitlab-workhorseに作成しました。
ProxyPass/gitlab http://127.0.0.1:9191/gitlab
RequestHeader add X-Forwarded-Proto "https"
RequestHeaderがX-Forwarded-Sslをオンに設定