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
重载配置
完美解决!!!