一、在实际应用中,我们个人搭建gitlab环境的时候,都是在公司内网的情况下,只为单独的某个企业/公司使用,所以此时会出现某些特殊的访问需求,比如我只允许公司某个网段中的IP地址访问,或者只允许某几台主机访问gitlab服务器,而拒绝某些主机访问。
二、在外网情况下,也会有恶意IP攻击gitlab服务,进行不友好的访问,此时我们可以找出这些IP地址,将其加入黑名单
三、检查环境,确定你所在的网段中用于测试的主机之间能够互相ping同,正常情况下启动gitlab,同网段的其他主机能够正常访问gitlab页面服务。
四、gitlab本身集成的就有Nginx功能,在无需设置外部Nginx情况下,我们一样可以做访问网段限制。
五、编辑 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. allow192.168.2.0/24
是指192.168.2.0
-192.168.2.254
的ip区段都可以访问, 如果想匹配192.168.*.*
可以使用192.168.0.0/16
5.deny192.168.2.109是指拒绝该主机的访问,如果有更多的主机,可以在下一行继续添加拒绝IP地址:deny 192.168.x.x 实现gitlab的IP黑名单设置
6.deny all除了上面的规则外,拒绝所有其他主机访问。
配置完成后,重新配置gitlab,执行 gitlab-ctl reconfigure命令
即可发现被拒绝的主机在访问gitlab页面服务时报403错误,不能进行访问。
参考地址:/idododu/FE/blob/gh-pages/install-gitlab.md