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"], |