from: https://baijiahao.baidu.com/s?id=1614990610820059993&wfr=spider&for=pc
问题现象:
gitlab稳定运行有一年多了,今天研发部小伙伴跑来说,他的gitlab访问不了,不一会,还有几位小伙伴也一样的反馈查看他们的报错,为403 forbidden奇怪的是,我访问是正常的
排查过程
首先上服务器,查看各服务均正常gitlab-ctl logs 查看日志,发现有一个IP 172.17.2.254访问被拒绝,而这个IP,是无线网段的网关。瞬间明白了,不能用的全是用无线上网的同学,只要是经过2.254的都不能用继续查看日志,有个xiaoxiao用户,有过几次登陆失败,之后就全都是forbidden看来gitlab是有防爆破机制,查看配置文档gitlab.yml,果然有rack_attack的配置,如图:
解决方法
进入redis,删除被墙的IP地址即可以,命令如下:
/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
[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]#
##执行这命令 使用无线连接gitlab的电脑恢复正常。