美文网首页
解决gitlab备份迁移后,新gitlab部分页面报500错误

解决gitlab备份迁移后,新gitlab部分页面报500错误

作者: 沉思的雨季 | 来源:发表于2020-04-16 10:04 被阅读0次

问题:在将旧gitlab服务器上的数据备份迁移到新服务器后(参照:Gitlab数据备份、迁移、恢复),有部分页面访问包500错误。经验证新服务器在恢复备份数据前,页面均访问正常,问题出现在备份恢复上。

分析:在网上查找资料发现,这是由于db_key_base问题导致的。因为gitlab默认的备份机制,是不会备份gitlab.rb和gitlab-secrets.json文件的。在备份恢复过程有如下警告提示:

其中,gitlab.rb配置了gitlab的域名、邮件发送信息、白名单等相关信息,gitlab-secrets.json文件存储了gitlab的db secret信息。db_key_base问题正与gitlab-secrets.json文件有关。

解决办法:

方法一、在旧gitlab配置文件未删除的情况下,拷贝gitlab-secrets.json文件到新服务器替换,重启gitlab。

方法二、若旧gitlab配置已删除,可执行以下两组命令重置相关CI的所有密钥和token。

命令1:

#gitlab-rails console

#Ci::Runner.all.update_all(token_encrypted: nil)

执行完命令后,重启gitlab服务

命令2:

#gitlab-rails dbconsole

#gitlabhq_production=> UPDATE projects SET runners_token = null, runners_token_encrypted = null;

#gitlabhq_production=> UPDATE namespaces SET runners_token = null, runners_token_encrypted = null;

#gitlabhq_production=> UPDATE application_settings SET runners_registration_token_encrypted = null;

执行完命令后,重启gitlab服务

相关文章

网友评论

      本文标题:解决gitlab备份迁移后,新gitlab部分页面报500错误

      本文链接:https://www.haomeiwen.com/subject/daylvhtx.html