关于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发现过期时间是当前时间,于是修改过期密码时间为下个月

# 查看 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

3. 再次刷新页面清空cookie,用root账号登录gitlab后,再次选择cuser用户进行模拟并修改密码

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

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

你可能感兴趣的:(gitlab,gitlab)