用自带的Nginx为gitlab做白名单(访问控制)(docker)

唠叨:

我们公司很少有业务跑在外网上,一般都是内网里跑,对内部提供服务的。
这段时间要过等保,机器做一下安全加固,搞一个黑白名单。

需求:除指定IP外,全部禁止访问。

试了几个 gitlab_rails 的文档,都不行,可能是我用的容器的原因??具体我也搞不太清楚。
就想到用nginx做访问控制。这个我搞过,我kibana的访问控制是用nginx做的。

gitlab本身集成的就有Nginx功能,所以不用再安装nginx,还是挺方便的。

直接进入主题吧!!

进入容器

docker  exec  -it -u root gitlab /bin/bash

也可以不进容器 在持久化层找到 配置文件,修改好以后 用 docker exec 命令执行 gitlab-ctl reconfigure 就ok了。

修改 /etc/gitlab/gitlab.rb文件

vim /etc/gitlab/gitlab.rb

nginx['custom_gitlab_server_config'] = "location ~* (.*) {
                deny 192.168.2.109;
                allow 192.168.2.0/24;
                deny all;
                proxy_cache off;
                proxy_pass  http://gitlab-workhorse;
                root   html;
                index  index.html index.htm;}\n"

  1. 此处修改不可以设置location /规则,因为gitlab自己的gitlab-http.conf中已经有对应的配置;

  2. proxy_cache off;\n proxy_pass http://gitlab-workhorse;\n这两行一定要加,不然全部报404错误

  3. root html;\n index index.html index.htm;这两行也要加,因为我们使用location ~* (.*)重置了所有的请求匹配

  4. allow 192.168.2.0/24是指192.168.2.0 - 192.168.2.254的ip区段都可以访问, 如果想匹配192.168.*.*可以使用192.168.0.0/16

  5. deny 192.168.2.109是指拒绝该主机的访问,如果有更多的主机,可以在下一行继续添加拒绝IP地址: deny 192.168.x.x 实现gitlab的IP黑名单设置

  6. deny all除了上面的规则外,拒绝所有其他主机访问。


略略略
容器健康监查机制 参考文档

配置完成后,执行

gitlab-ctl reconfigure

可以重启一下容器,也可以不重启。看心情!!!

参考文档

开源精神,允许转载。
请标明出处。

2020.07.10  楠有枝 于北京·海淀  
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值