关于Gitlab用户登录提示无限重定向循环ERR_TOO_MANY_REDIRECTS

#工作笔记#

查阅了网上所有相关的记录,都没有解决gitlab登录/users/sign_up/welcome提示ERR_TOO_MANY_REDIRECTS,好在最终解决了,记录在此。

先说下起因:

github哼哼不想用了,原因太多,所以内部讨论用gitlab。

配置环境:

  1. centos8.3.2011的虚机,6G内存(4G内存后期运行会经常报500异常,查阅官方文档建议除了系统资源,给gitlab要留够4G,所以配置了6G内存)

  2. gitlab安装gitlab-ce-16.2.3版本

问题说明:

gitlab安装后,root用户OK正常登录,新建普通用户后,用普通用户登录就提示如题的错误。

#尝试的办法:

  1. root 登录修改普通用户的密码,再次登录失败

  2. root 登录对普通用户进项模拟操作时,提示gitlab您无法模拟密码过期的用户...

  3. root 登录配置90冻结用户参数为99999,依然失败

  4. root 登录修改普通用户为管理员用户,登录失败。

  5. gitlab16.2版本没有找到gitlab系统用户密码有效期90天的参数以及官网设置用户密码过期策略的地方

#成功的办法:

问题是在root新建用户,用户登录时需要修改密码,导致页面在welcome和修改密码页来回跳转导致无法登录,最终提示ERR_TOO_MANY_REDIRECTS.

可以模拟用户来修改密码,这样用户在登录时无需修改密码就可以直接登录,从而解决;

但模拟登录时提示gitlab您无法模拟密码过期的用户,于是找到新建用户并且设置密码没有过期做为解决思路:

  1. 虽然在安装gitlab-ce-16.2.3时并没有注意到安装postgresql,查看gitlab.rb配置内容也没有启用GitLab database settings相关的配置参数,但是发现实际上pg是安装并且正常使用的。

  2. 然后思路是登录pg,查找用户cuser发现过期时间是当前时间,于是修改过期密码时间为下个月

bash 复制代码
# 查看 postgreSQL 的相关文件
[c@localhost ~]$ sudo ls /var/opt/gitlab/postgresql/data/ -l

# 访问本地 postgreSQL 
[wjcl@localhost ~]$ sudo gitlab-psql -d gitlabhq_production

# 查看 gitlab 的用户信息
gitlabhq_production=# select id,name from users;
 id |        name
----+--------------------
  1 | Admin
  2 | cuser
  3 | GitLab Alert Bot
  4 | GitLab Support Bot
  5 | Ghost User
(5 rows)

# 修改cuser用户的过期时间
gitlabhq_production=# UPDATE users SET password_expires_at = '2024-02-26 09:17:58' WHERE name = 'cuser';
UPDATE 1
  1. 再次刷新页面清空cookie,用root账号登录gitlab后,再次选择cuser用户进行模拟并修改密码

  2. 退出root,最终用cuser正常登录

其实解决挺简单,毕竟这个问题是2023年底就发现了,一直没有时间解决-_-!!!,所以记下来应对我这健忘的呵呵。

相关推荐
daemon.qiang2 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
snow@li6 天前
服务器运维:K3S 下 Jenkins ↔ GitLab 的 CI/CD 闭环 / 访问成功
运维·gitlab·jenkins
旧梦星轨8 天前
Git Flow 工作流实践
git·gitee·gitlab·github
旧梦星轨8 天前
Github Flow 与 Gitlab Flow工作流实践解读
gitlab·github
极小狐11 天前
干掉流水线里的长期密钥:用 OIDC 让 CI/CD 与云以临时凭证对接
microsoft·ci/cd·gitlab·devops·ci·cd·oidc
snow@li11 天前
服务器运维:阿里云安装软件gitlab/智能体协助安装/智能体协同运维
运维·gitlab
极小狐12 天前
CI 流水线提速实战:缓存设计与依赖代理的工程实践
缓存·ci/cd·gitlab·devops
DevOps老兵13 天前
AI Infra实战11:模型部署Pipeline——CI/CD自动化
人工智能·ci/cd·ai·自动化·gitlab
极小狐13 天前
从复制粘贴到可复用组件:极狐GitLab CI/CD 组件目录实战
java·ci/cd·gitlab·devops·组件化
极小狐13 天前
用 Flow 编排 Agent 智能体:极狐GitLab Duo 自定义工作流实战
ai·gitlab·agent·devops·flow·duo