我刚刚更新到最新版本的gitlab-omnibus(我相信10.1,但我不积极)。 我的用户现在都不能login,而且在错误日志中我没有看到任何有用的东西。
我并不是100%确定哪个版本的gitlab-omnibus是从哪里来的,但是自从我更新以来,这个版本还不到一个月,所以可能是后来的9.x版本。
我得到的错误是
Could not authenticate you from Ldapmain because "Ssl connect returned=1 errno=0 state=error: certificate verify failed".
在任何人login时在login屏幕上。 当我使用gitlab-ctl tail尾所有日志时,在login尝试中出现以下错误。
{"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文件中的一个字段的名字,但是这次看起来并不是问题。
一旦我从备份重build服务器,我可以看看我的最新版本是什么,我会在这里更新。
事实certificate,他们确实发布了LDAP(对于大多数人)将会有一个突破性的变化 。
从Gitlab 10.0发布
为了安全起见,LDAPconfiguration选项verify_certificates默认为true。 该选项在9.4.2中添加,但为了向后兼容而默认为false。
如果LDAP服务器的SSL证书无法通过GitLab服务器进行validation,那么正在使用start_tls或simple_tls作为encryption参数并且在LDAP服务器和GitLab服务器之间无法正确configurationSSL的安装可能会中断。
在我的ldapconfiguration中添加verify_certificates: false之后,一切都可以正常工作。