温馨提示×

GitLab在Ubuntu上的网络配置方法

小樊
33
2025-11-19 04:47:20
栏目: 智能运维

Ubuntu 上 GitLab 网络配置实用指南

一 基础网络与防火墙

  • 开放访问端口:GitLab 默认使用 HTTP 80HTTPS 443。如使用 UFW,可执行:
    • sudo ufw allow http
    • sudo ufw allow https
    • sudo ufw allow OpenSSH
    • sudo ufw status(确认规则生效)
  • 云服务器需在安全组放行 80/443(以及 22 以便 SSH)。以上确保浏览器与 Git 客户端可达 GitLab 服务。

二 配置外部访问地址 external_url

  • 编辑配置文件:sudo vim /etc/gitlab/gitlab.rb
  • 设置访问地址(域名或 IP):
    • 仅 HTTP:external_url ‘http://your_domain_or_ip’
    • 直接启用 HTTPS:external_url ‘https://your_domain’
  • 使配置生效:sudo gitlab-ctl reconfigure
  • 访问测试:在浏览器打开配置的地址。以上步骤完成 GitLab 对外访问的基础网络指向。

三 启用 HTTPS 与证书

  • 方式 A(推荐)自动申请 Let’s Encrypt 证书
    • /etc/gitlab/gitlab.rb 中:
      • external_url ‘https://your_domain’
      • letsencrypt[‘enable’] = true
      • letsencrypt[‘contact_emails’] = [‘admin@your_domain.com’]
    • 应用:sudo gitlab-ctl reconfigure(将自动获取并配置证书)
  • 方式 B 使用已有证书
    • /etc/gitlab/gitlab.rb 中指定证书路径:
      • nginx[‘ssl_certificate’] = “/etc/letsencrypt/live/your_domain/fullchain.pem”
      • nginx[‘ssl_certificate_key’] = “/etc/letsencrypt/live/your_domain/privkey.pem”
      • 可选:nginx[‘redirect_http_to_https’] = true
    • 应用:sudo gitlab-ctl reconfigure
  • 说明:方式 A 更省事;方式 B 适用于已有 CA/企业证书 的场景。

四 端口与反向代理及 NAT 场景

  • 更改默认端口(避免与已有服务冲突)
    • /etc/gitlab/gitlab.rb
      • nginx[‘listen_port’] = 8083(示例)
    • 应用:sudo gitlab-ctl reconfigure
    • 访问:http://your_ip:8083
  • 反向代理或端口转发
    • 若由外部 Nginx/负载均衡 终止 TLS,可设置:external_url ‘https://your_domain’,并配置代理将 443→80(HTTP)或 443→8083(自定义端口);GitLab 侧通常关闭内置 Nginx 或仅监听本地端口。
  • NAT/内网穿透
    • 在网关或路由将公网 80/443 转发至内网 GitLab 主机 IP:80/443;同时确保云安全组/本机防火墙放行对应端口。以上覆盖端口变更与常见代理/NAT 组网。

五 内网域名与本地 hosts 解析

  • 服务器本机解析(测试用)
    • 编辑 /etc/hosts:127.0.0.1 mygitlab.com
  • 客户端(如 Windows)解析
    • 编辑 C:\Windows\System32\drivers\etc\hosts:服务器 IP mygitlab.com
  • 访问:浏览器打开 http://mygitlab.com(或带端口 :8088 等)。该方式便于内网无 DNS 环境下的快速验证。

0