gitlab服务怎么设置,只允许指定的ip地址访问

tqx
·发布于 5 个月前·
1 人看过

环境

操作系统:ubuntu 22.04
gitlab版本:17.1

要求

gitlab在私有化部署之后,要求只能部分网络IP或者指定的IP网段才能访问

步骤

  1. 进入gitlab控制台

以docker 部署gitlab为例

sudo docker exec -it gitlab /bin/bash  
  1. 修改配置文件

vim /etc/gitlab/gitlab.rb

查找:快捷键/ (斜杠) ,然后输入:custom_gitlab_server_config 然后回车找到如下配置

`# nginx['custom_gitlab_server_config'] = "location ^~ /foo-namespace/bar-project/raw/ {\n deny all;\n}\n"

建议不要改变原始内容,在这个上面添加新的内容,内容如下:

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

解释一下
allow 192.168.1.1; 代表允许192.168.1.1,这个IP访问
allow 192.168.3.0/24; 代表允许192.168.3.0~192.168.3.254,这个IP段访问
deny all; 代表除以上允许之外,禁止其他所有网络访问
下面这几行也放上,官方文档里是让放上,官方文档地址
proxy_cache off;
proxy_pass http://gitlab-workhorse;
root html;
index index.html index.htm;
注意:这个顺序不能随便写,读取顺序会从上往下,如果把deny all;放到第一行,后面的就不起作用了

  1. 保存配置文件并重新启动GitLab服务

gitlab-ctl reconfigure
gitlab-ctl restart
gitlab
$ cd ..