更新后 Gitlab Omnibus 登录中断

更新后 Gitlab Omnibus 登录中断

我刚刚更新到 gitlab-omnibus 的最新版本(我相信是 10.1,但我不确定)。现在我的用户都无法登录,而且我在错误日志中没有看到任何非常有用的信息。

我不能 100% 确定我来自哪个版本的 gitlab-omnibus,但距离我更新还不到一个月,所以可能是更高版本的 9.x。

我得到的错误是

Could not authenticate you from Ldapmain because "Ssl connect returned=1 errno=0 state=error: certificate verify failed".

在任何人登录时都会在登录屏幕上看到。当我使用 gitlab-ctl tail 跟踪所有日志时,我在登录尝试时收到以下错误。

{"method":"POST","path":"/users/auth/ldapmain/callback","format":"html","controller":"OmniauthCallbacksController","action":"failure","status":302,"duration":6.6,"view":0.0,"db":0.0,"location":"https://gitlab.mycompany.com/users/sign_in","time":"2017-10-24T01:37:36.538Z","params":{"utf8":"✓","authenticity_token":"[FILTERED]","username":"my.name","password":"[FILTERED]"},"remote_ip":"192.168.0.81","user_id":null,"username":null}

我检查过,我当前使用的证书没有任何变化,gitlab.rb 文件中也没有任何变化。上次我遇到类似的问题时,gitlab 更改了 gitlab.rb 文件中某个字段的名称……但这次似乎不是这个问题。

一旦我从备份重建服务器,我就可以查找我拥有的最后一个版本,然后我会在这里更新。

答案1

事实证明,他们确实发布了突破性变革在 LDAP 中(对于大多数人来说)。

从 Gitlab 10.0 版本开始

LDAP 配置选项 verify_certificates 现在默认为 true 以确保安全性。此选项是在 9.4.2 中添加的,但默认为 false 以实现向后兼容性。

如果 LDAP 服务器的 SSL 证书无法由 GitLab 服务器验证,则使用 start_tls 或 simple_tls 作为加密参数的安装以及在不知情的情况下未在 LDAP 服务器和 GitLab 服务器之间正确配置 SSL 的安装可能会中断。

添加到我的 ldap 配置后verify_certificates: false,一切都恢复正常。

相关内容