Gitlab 之 403 Forbidden 前世今生
环境
公司的GIT环境一直是用Gitlab跑在阿里云的Docker环境中的,Gitlab的配置并没有做更改,然而今天发现突然报Forbidden而且还时好时坏。通过查看官方文档【Rack Attack】发现可能是项目太多并发太高触发了 IP 屏蔽
解决方案
根据官方的文档【Rack Attack】和【IP whitelist】可有如下三种方法解决:
- 添加
IP白名单 - 扩大每个
IP HTTP authentication次数 - 直接关闭
Rack Attack
实践
- 添加
IP白名单
步骤:
vi /etc/gitlab/gitlab.rb- 查找
rack_attack_git_basic_auth - 将
gitlab_rails['rack_attack_git_basic_auth']取消注释 - 修改
ip_whitelist白名单将gitlab部署主机 IP 地址加入'ip_whitelist' => ["127.0.0.1","172.16.7.21"], - 最后执行
gitlab-ctl reconfigure重载配置
在添加白名单后发现问题依然存在,于是在上述完成后继续第二种方式
- 扩大每个
IP HTTP authentication次数
步骤:
- 将
maxretry调整为200
最后配置如下:
1 | gitlab_rails['rack_attack_git_basic_auth'] = { |
再次执行gitlab-ctl reconfigure重载配置
完美解决!!!