1.问题现象
2.问题产生原因
可能是gitlab的防爆破机制起的作用
可能是并发超过了gitlab的阀值导致封禁了IP
3.解决该问题的方法(三种)
1)redis删除记录解除封禁,redis存储记录设置了时效性,所以一段时间后就会自动被解除(临时解决方法)
使用gitlab命令查看redis存储被封禁的IP
/opt/gitlab/embedded/bin/redis-cli -s /var/opt/gitlab/redis/redis.socket keys '*' | grep 'rack::attack'
从redis删除记录,可以立即解除封禁
/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
2)修改gitlab并发数阀值(如果是别的原因,该方法可能不生效)
编辑配置文件
vim /etc/gitlab/gitlab.rb
查找关键词:gitlab_rails['rack_attack_git_basic_auth'] = {修改下方的这个字段: 'maxretry' => 数量
3)添加白名单
编辑配置文件
vim /etc/gitlab/gitlab.rb
查找关键词:gitlab_rails['rack_attack_git_basic_auth'] = {修改下方的这个字段: 'ip_whitelist' => ["127.0.0.1","白名单IP"],