ubuntu gitlab网络设置
导读:Ubuntu 上 GitLab 网络设置实操指南 一 基础网络与防火墙 确认网卡与地址:使用 ip a 或 nmcli 查看并确认服务器 IP 与可达性。 放行防火墙端口(UFW 示例): 查看状态:sudo ufw status 放行...
Ubuntu 上 GitLab 网络设置实操指南
一 基础网络与防火墙
- 确认网卡与地址:使用 ip a 或 nmcli 查看并确认服务器 IP 与可达性。
- 放行防火墙端口(UFW 示例):
- 查看状态:sudo ufw status
- 放行访问:sudo ufw allow http、sudo ufw allow https、sudo ufw allow OpenSSH
- 重载规则:sudo ufw reload
- 端口占用检查:
- sudo ss -tulpn | grep ‘:80|:443’ 或 sudo netstat -tulpn | grep ‘:80|:443’
- 虚拟机/云主机注意:
- 桥接或端口转发需正确配置,确保来自外部的 80/443 能到达 GitLab 主机。
- 云厂商安全组/NACL 同样需要放行 80/443/TCP。
二 配置外部访问地址 external_url
- 编辑配置文件:sudo vim /etc/gitlab/gitlab.rb
- 设置访问地址(二选一或带端口):
- 仅 IP:external_url ‘http://192.168.1.100’
- 域名:external_url ‘https://gitlab.example.com’
- 自定义端口:external_url ‘http://192.168.1.100:8080’
- 使配置生效:sudo gitlab-ctl reconfigure(会自动重启相关服务)
- 访问测试:浏览器打开配置的 external_url;如为 HTTP,确保 80 已放行;如为 HTTPS,确保 443 已放行。
三 启用 HTTPS 与证书
- 方案 A 手动证书(自签或已有证书)
- 准备证书与密钥(示例):
- 生成私钥:openssl genrsa -out server.key 2048
- 生成 CSR:openssl req -new -key server.key -out cert_req.csr -subj “/C=CN/ST=Test/L=Test/O=Test/OU=Main/CN=gitlab.example.com”
- 自签证书:openssl x509 -req -days 365 -in cert_req.csr -signkey server.key -out server_cert.crt
- 配置 gitlab.rb:
- nginx[‘enable’] = true
- nginx[‘redirect_http_to_https’] = true
- nginx[‘ssl_certificate’] = “/etc/gitlab/ssl/server_cert.crt”
- nginx[‘ssl_certificate_key’] = “/etc/gitlab/ssl/server.key”
- 应用:sudo gitlab-ctl reconfigure
- 准备证书与密钥(示例):
- 方案 B Let’s Encrypt 自动证书
- 配置示例:
- external_url ‘https://gitlab.example.com’
- letsencrypt[‘enable’] = true
- 如申请超时,优先排查域名解析、80 端口连通性与防火墙/云安全组。
- 配置示例:
四 端口冲突与常见网络问题排查
- 端口被占用(如 80/443 被 Nginx/Apache 占用):
- 方案 1:停用占用者或改用其他端口(如 8080),并在 external_url 中同步端口。
- 方案 2:调整 GitLab 内置 Nginx/Puma 端口,例如:
- 修改 /etc/gitlab/gitlab.rb:
- external_url ‘http://192.168.0.136:8080’
- puma[‘port’] = 8081
- 应用:sudo gitlab-ctl reconfigure & & sudo gitlab-ctl restart
- 修改 /etc/gitlab/gitlab.rb:
- 无法访问:
- 本机/远端分别 curl -I http://服务器IP/ 或 curl -Iv https://域名/ 排查 TCP 与 TLS 握手。
- 核对 UFW/iptables/云安全组 是否放行 80/443。
- 检查 external_url 是否与访问方式一致(HTTP/HTTPS、端口)。
- 克隆地址异常:
- 若页面展示的 git@ 或 http 地址不正确,优先检查 external_url 是否为目标 IP/域名,然后 reconfigure 并重启。
五 常用命令与维护
- 服务管理:sudo gitlab-ctl start|stop|restart|status
- 配置校验与应用:sudo gitlab-ctl reconfigure
- 配置检查:sudo gitlab-rake gitlab:check
- 备份与恢复:
- 备份:sudo gitlab-backup create(默认目录 /var/opt/gitlab/backups)
- 恢复:先停相关服务,再执行 sudo gitlab-backup restore BACKUP=时间戳,随后启动服务
- 初始密码:首次登录前查看 /etc/gitlab/initial_root_password(默认 24 小时后自动删除,请尽快登录修改)
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu gitlab网络设置
本文地址: https://pptw.com/jishu/787227.html
