首页 > 编程知识 正文

如何关闭GitLab的80端口

时间:2023-11-20 10:42:21 阅读:289606 作者:QGMX

在本文中,我们将阐述如何关闭GitLab的80端口。GitLab是一个非常流行的源代码管理平台,通常在默认情况下使用80端口。但有时,你可能需要关闭80端口来实现特定的需求,或者避免安全漏洞。

一、利用Nginx代理来关闭端口

最常见的关闭80端口的方法是通过使用Nginx代理来代替GitLab。通过这种方法,1234(1234是你用来代替GitLab的端口号)将是你的GitLab实例的新端口号。按照以下步骤操作来实现:

1. 安装Nginx

首先,你需要安装Nginx来代替GitLab的80端口。请按照以下命令进行安装:

sudo apt-get install nginx

2. 停止GitLab

现在,你需要停止GitLab以释放80端口。在终端中输入以下命令:

sudo gitlab-ctl stop unicorn
sudo gitlab-ctl stop sidekiq

3. 配置Nginx

现在,打开Nginx的默认站点配置文件,编辑它:

sudo nano /etc/nginx/sites-enabled/default

将配置文件更改为以下形式:

server {
    listen 80;
    server_name gitlab.example.com; #请更改此处为你的服务器名称 
    location / {
        proxy_pass http://127.0.0.1:1234;#请更改为你想要将请求转发到的端口
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect     off;
    }
}

注意要更改server_name为你的实际域名。保存并退出文件。

4. 重启Nginx

现在,重启Nginx来使更改的配置生效。

sudo service nginx restart

5. 验证

现在,重启GitLab并尝试访问它的新端口号(这里的端口号是1234)。如果一切正常,GitLab将通过Nginx代理响应请求,并在新端口上运行。

二、修改gitlab.rb配置文件

如果你不想使用Nginx来代理GitLab端口,你可以通过更改GitLab的配置文件来关闭80端口。

1. 打开配置文件

打开GitLab的配置文件,请在终端中输入以下命令:

sudo nano /etc/gitlab/gitlab.rb

2. 修改配置文件

找到下面的行并注释掉:

nginx['enable'] = true
nginx['listen_port'] = 80

将其更改为:

#nginx['enable'] = true
#nginx['listen_port'] = 80

保存并关闭文件。

3. 重新配置

在终端中输入以下命令以重新配置GitLab:

sudo gitlab-ctl reconfigure

4. 验证

现在,重启GitLab并尝试访问它的80端口。如果一切正常,你将无法访问GitLab,因为80端口已经被关闭了。

三、使用iptables进行端口关闭

另一种关闭80端口的方法是使用iptables。Iptables是Linux内核中用于防火墙和网络地址翻译的工具。按照以下步骤操作来实现:

1. 查找GitLab的进程ID

请在终端中输入以下命令:

ps aux | grep gitlab

将返回类似以下内容的输出:

root      3944  1.3  2.2 1890472 180628 ?      Sl   06:50   0:09 unicorn worker[1] -D -c /etc/gitlab/gitlab.rb -E production
root     17412  0.0  0.0  14224   936 pts/0    S+   17:39   0:00 grep --color=auto gitlab

记录GitLab的进程ID(在本例中为3944)。

2. 添加iptables规则

在终端中输入以下命令,将 iptables 规则添加到防火墙:

sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j DROP

这将禁止任何TCP流量通过80端口。

3. 重启GitLab

现在,重启GitLab以使更改生效。在终端中输入以下命令:

sudo gitlab-ctl restart

4. 删除规则

如果需要再次启用GitLab的80端口,可以在终端中输入以下命令来删除iptables规则:

sudo iptables -D INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j DROP

这会删除防火墙中的80端口规则。

结论

在这篇文章中,我们介绍了三种关闭GitLab 80端口的方法。你可以选择使用Nginx代理,修改GitLab的配置文件,或者使用Iptables规则。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。