问题现象:

gitlab稳定运行有一年多了,今天研发部小伙伴跑来说,他的 gitlab 访问不了,不一会,还有几位小伙伴也一样的反馈查看他们的报错,为 403 forbidden 奇怪的是,我访问是正常的。

WechatIMG1480.png

排查过程

首先上服务器,查看各服务均正常 gitlab-ctl logs 查看日志,发现有一个IP 172.17.2.254 访问被拒绝,而这个IP,是无线网段的网关。瞬间明白了,不能用的全是用无线上网的同学,只要是经过 2.254 的都不能用继续查看日志,有个xiaoxiao用户,有过几次登陆失败,之后就全都是 forbidden。

看来 gitlab 是有防爆破机制,查看配置文档 gitlab.rb,果然有 rack_attack 的配置,如图:

QQ20210310-163802@2x.png

解决方法

进入redis,删除被 ban 的 IP 地址即可以,命令如下:

[root@localhost gitlab]# /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket keys '*' | grep 'rack::attack' | xargs /opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket DEL
(integer) 1
[root@localhost gitlab]#