GitLabにアクセスしようとすると502のエラーが表示されてアクセスできない

AlmaLinux9

ある日GitLabにアクセスしようとしたら502エラーが表示されてアクセスできなくなっていました

原因調査

まずGitLabのログを見ます
ログを確認すると「”badgateway: failed to receive response: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: connection refused”」とエラーが出ていたのでこのエラーについて調べました

# vi /var/log/gitlab/gitlab-workhorse/current
{"correlation_id":"","duration_ms":0,"error":"badgateway: failed to receive response: dial unix /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket: connect: connection refused","level":"error","method":"GET","msg":"","time":"2024-08-08T09:54:12+09:00","uri":""}

ソケットがないときにこのエラーが出ることがあるようなので、ソケットがあるか確認します

# ll /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket
srwxrwxrwx 1 git git 0  8月  8 10:02 /var/opt/gitlab/gitlab-rails/sockets/gitlab.socket

ソケットはあることが確認できたので別の理由ですね。。。
下記のサイトを確認していたら「/opt/gitlab/var/puma」の所有者が問題説が浮上しました

gitlab socket connect : Connection refused
while I am trying to reconfigure my gitlab instance, I am getting this error. sudo gitlab-ctl reconfigure works fine but...

# ll /opt/gitlab/var/
合計 0
drwx------ 2 git apache 40  7月 25 07:03 puma

# ll /opt/gitlab/var/puma/
合計 8
-rw-r--r-- 1 git apache  7  8月  8 10:47 puma.pid
-rw-r--r-- 1 git apache 70  8月  8 10:47 puma.state

確認したところ、本来gitであるべき所有グループがapacheになっていました
所有者と所有グループ両方がgitになるように変更します

# chown -R git. /opt/gitlab/var/puma

# ll /opt/gitlab/var
合計 0
drwx------ 2 git git 40  7月 25 07:03 puma

# ll /opt/gitlab/var/puma/
合計 8
-rw-r--r-- 1 git git  7  8月  8 10:47 puma.pid
-rw-r--r-- 1 git git 70  8月  8 10:47 puma.state

これで見えるようになるはずです
が、自分の時にはそのままgitの設定再構築と再起動も実施してしまったので、もしかすると下記も実施する必要があるかもしれません
もし所有者変更だけで直らなかったら試してみてください(おそらく必要ない気はしますが)

# gitlab-ctl reconfigure
# gitlab-ctl restart

おわりに

そもそもなんで突然見えなくなったんかなーと思いましたが、ちょうど昨日GitLabのセキュリティアップデートがあったみたいです

以前phpMyAdminでも、アップデート後にソケットの所有者が変わってしまって見れなくなるトラブルが起きたので、今回も同じような理由だと思いました

phpMyAdminと原因が同じだと、アップデートのたびに今回の問題が起きることが想定されます
もう一回起きてしまったら何か対策しようと思います

コメント

タイトルとURLをコピーしました