温馨提示×

GitLab在CentOS中的网络配置要求

小樊
36
2025-12-27 06:18:19
栏目: 智能运维

端口与协议要求

  • 入站访问需开放:
    • HTTP 80/TCP:用于 Web 访问与重定向到 HTTPS(如启用)。
    • HTTPS 443/TCP:用于加密 Web 访问与 Git 的 HTTPS 克隆/推送。
    • SSH 22/TCP:用于 Git 通过 SSH 的克隆/推送(端口号可在 GitLab 中自定义)。
  • 建议在系统防火墙放行上述端口,并在云厂商安全组同步放通对应来源网段。

防火墙与安全组配置

  • firewalld(CentOS 常用):
    • 放行服务或端口:
      • sudo firewall-cmd --permanent --zone=public --add-service=http
      • sudo firewall-cmd --permanent --zone=public --add-service=https
      • sudo firewall-cmd --permanent --zone=public --add-service=ssh
      • 如需自定义 SSH 端口(例如 2222/TCP):sudo firewall-cmd --permanent --zone=public --add-port=2222/tcp
    • 使规则生效:sudo firewall-cmd --reload
  • 云安全组:在控制台对实例放行 80/443/22(或自定义的 SSH 端口)入站,来源按需限制为办公网或公网。
  • SELinux:保持启用并设为 permissive/enforcing 均可,若使用非标准端口,确保相应布尔值或策略允许 Nginx/SSH 绑定。

主机名与 DNS 解析

  • 设置主机名(FQDN 推荐):sudo hostnamectl set-hostname gitlab.example.com
  • 配置静态网络(示例 /etc/sysconfig/network-scripts/ifcfg-ens33ifcfg-eth0):
    • BOOTPROTO=static,ONBOOT=yes
    • IPADDR=192.168.1.100,NETMASK=255.255.255.0,GATEWAY=192.168.1.1
    • DNS1=8.8.8.8,DNS2=8.8.4.4
    • 使配置生效:sudo systemctl restart network
  • 验证:ip addr、ping www.baidu.com、nslookup gitlab.example.com
  • 客户端访问前,确保域名可解析到服务器公网/内网 IP。

GitLab 关键网络参数

  • 配置文件:/etc/gitlab/gitlab.rb
  • 外部访问地址(必须与实际访问方式一致):
    • HTTP:external_url ‘http://gitlab.example.com
    • HTTPS:external_url ‘https://gitlab.example.com
  • 自定义端口示例:
    • 修改 Nginx 监听端口:nginx[‘listen_port’] = 8080
    • 修改 SSH 端口(同时需防火墙放行新端口):gitlab_rails[‘gitlab_shell_ssh_port’] = 2222
  • 应用配置:sudo gitlab-ctl reconfigure(必要时 sudo gitlab-ctl restart)

验证与常见问题

  • 连通性验证:
    • Web:curl -I http://gitlab.example.comhttps://gitlab.example.com
    • SSH:ssh -T git@gitlab.example.com(如自定义端口:ssh -p 2222 git@gitlab.example.com)
  • 常见问题处理:
    • 端口被占用:调整 nginx[‘listen_port’] 或系统端口占用,并同步防火墙/安全组。
    • 端口未放行:核对 firewalld/云安全组是否已放通 80/443/22(或自定义端口)。
    • 域名无法访问:检查 DNS 解析是否指向正确 IP,且外部_url 与访问域名一致。
    • 首次访问:按页面引导设置管理员密码。

0