4
2

More than 1 year has passed since last update.

GitLabが502エラーで開けない

Last updated at Posted at 2022-08-09

GitLabをインストールしてさあやるぞ!と思ったら502エラーで開けなかったときの戦ったメモです。

環境

  • ホストOS - CentOS8
  • Docker - 20.10.17
  • GitLab - 3.0

GitLabを設定したアドレスに入ったら502エラー

20201110215126.jpg
この子がお出迎えしてくれました。(うれしくない)

原因調査

まずDockerのコンテナに入って、、、

docker container exec -it 【コンテナ名】 bash

ログをみる。

cat /var/log/gitlab/gitlab-workhorse/current | less

怪しそうなログを発見。
badgateway: failed to receive response: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: no su ch file or directory

原因:gitlab.socketが無い

環境構築でごそごそやっている間に消してしまったようです…。

解決策:.gitlab_workhorse_secretの所有者変更でgitlab.socketを自動生成させる

とりあえず解決したコードです。

chown -h git:git /opt/gitlab/embedded/service/gitlab-rails/.gitlab_workhorse_secret
chown git:git /var/opt/gitlab/gitlab-rails/etc/gitlab_workhorse_secret
gitlab-ctl stop
gitlab-ctl restart
gitlab-ctl reconfigure

以下詳細なので気になる方はどうぞ。

解決までの経緯

同じように悩んでいる方の回答をみると、

いろいろ試行錯誤した結果、gitlab.socketファイルが存在しなかったり、不正なものだったりした場合は、/opt/gitlab/embedded/service/gitlab-rails/.gitlab_workhorse_secretファイルにアクセスを行い、再度生成しようとするらしいです。ですので、上記のファイルに対するアクセス権限が無いとgitlab.socketファイルを作成することが出来ず、500エラーとなっていたようです。

とのこと。
というわけでls -l /opt/gitlab/embedded/service/gitlab-rails/.gitlab_workhorse_secretで確認してみると、所有者がrootになっていました。これっぽい。
というわけで変更。

chown -h git:git /opt/gitlab/embedded/service/gitlab-rails/.gitlab_workhorse_secret
chown git:git /var/opt/gitlab/gitlab-rails/etc/gitlab_workhorse_secret

変更したので、再起動。

gitlab-ctl stop
gitlab-ctl restart
gitlab-ctl reconfigure

動いた!gitlab-ctl reconfigureが30分くらいかかったのでつらかった。

参考

参考にさせていただきました。ありがとうございます。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2