更新後 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 文件中一個欄位的名稱……但這次似乎不是問題。
從備份中重建伺服器後,我可以查看我擁有的最後一個版本,我會在這裡更新。
事實證明,他們確實發布了 LDAP 將發生重大變化(對於大多數人而言)。
來自 Gitlab 10.0 版本
LDAP 配置選項 verify_certificates 現在預設為 true 以確保安全。此選項是在 9.4.2 中添加的,但為了向後兼容預設為 false。
如果 GitLab 伺服器無法驗證 LDAP 伺服器的 SSL 證書,則使用 start_tls 或 simple_tls 作為加密參數並且在不知不覺中未在 LDAP 伺服器和 GitLab 伺服器之間正確配置 SSL 的安裝可能會中斷。
添加
verify_certificates: false
到我的 ldap 配置後,一切正常。