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的電腦恢復正常。