温馨提示×

debian gitlab怎样绑定域名

小樊
46
2026-09-23 19:03:02
栏目: 云计算

在 Debian 上部署的 GitLab 绑定域名,通常分为 修改 GitLab 配置 和 配置 Web 服务器(Nginx/Apache) 两部分。下面以 官方 Omnibus 包安装的 GitLab + Nginx 为例说明。


一、前提条件

  1. 你已有一台 Debian 服务器并安装了 GitLab
  2. 已拥有一个域名(如 git.example.com)
  3. 域名已解析到服务器公网 IP(A 记录)

二、修改 GitLab 域名配置

1. 编辑 GitLab 配置文件

sudo vim /etc/gitlab/gitlab.rb

找到并修改以下内容:

external_url 'https://git.example.com'

如果是 HTTP:

external_url 'http://git.example.com'

2. 重新配置 GitLab

sudo gitlab-ctl reconfigure

三、配置 Nginx(GitLab 自带)

GitLab 默认使用自带的 Nginx,一般无需手动改 Nginx 配置。

如果你之前关闭过 GitLab 的 Nginx:

nginx['enable'] = false

那你需要自己配置反向代理(见下文)。


四、(可选)使用自己的 Nginx

1. 禁用 GitLab 自带 Nginx

nginx['enable'] = false
sudo gitlab-ctl reconfigure

2. 安装 Nginx

sudo apt install nginx

3. 配置域名反向代理

sudo vim /etc/nginx/sites-available/gitlab

示例配置:

server {
    listen 80;
    server_name git.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

启用站点:

sudo ln -s /etc/nginx/sites-available/gitlab /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

五、配置 HTTPS(推荐)

使用 Let’s Encrypt

sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d git.example.com

Certbot 会自动修改 Nginx 配置并开启 HTTPS。


六、防火墙与端口

确保开放:

sudo ufw allow 80
sudo ufw allow 443

七、验证

浏览器访问:

https://git.example.com

八、常见问题

1. 访问提示 502

  • GitLab 服务未启动:sudo gitlab-ctl status
  • 端口冲突(如 8080 被占用)

2. 邮箱、Webhook 失效

修改域名后需重启:

sudo gitlab-ctl restart

如果你使用的是 Docker 版 GitLab 或 GitLab CE 源码安装,可以告诉我,我可以给你对应方案。

0 踩