centos gitlab网络配置要点
导读:CentOS 上部署 GitLab 的网络配置要点 一 基础网络与主机准备 使用 NetworkManager(CentOS 7+ 推荐)进行网络管理;静态地址建议编辑网卡文件(如 /etc/sysconfig/network-scrip...
CentOS 上部署 GitLab 的网络配置要点
一 基础网络与主机准备
- 使用 NetworkManager(CentOS 7+ 推荐)进行网络管理;静态地址建议编辑网卡文件(如 /etc/sysconfig/network-scripts/ifcfg-ens33 或 ifcfg-eth0),关键参数包含:BOOTPROTO=static、ONBOOT=yes、IPADDR、NETMASK、GATEWAY、DNS1/DNS2。配置完成后执行:
sudo systemctl restart NetworkManager(或sudo systemctl restart network)。 - 设置主机名并写入 /etc/hosts:
sudo hostnamectl set-hostname your_gitlab_hostname,确保解析可达。 - 基础连通性自检:
ip addr、ping网关与公网域名,确认路由与 DNS 正常。
二 防火墙与端口策略
- 启用并持久化 firewalld:
sudo systemctl enable --now firewalld。 - 放行 GitLab 常用端口:
- HTTP/HTTPS:
sudo firewall-cmd --permanent --zone=public --add-service=http & & sudo firewall-cmd --permanent --zone=public --add-service=https - SSH(Git 克隆/推送):
sudo firewall-cmd --permanent --zone=public --add-service=ssh - 如改用自定义端口(例如 8080/8888),需显式放行:
sudo firewall-cmd --permanent --add-port=8080/tcp(或 8888/tcp) - 使规则生效:
sudo firewall-cmd --reload
- HTTP/HTTPS:
- 云服务器需同步在 安全组 放行对应端口(TCP 80/443/22 或自定义端口)。
三 GitLab 核心网络参数
- 编辑 /etc/gitlab/gitlab.rb,设置对外访问地址(域名或 IP,含端口):
- HTTP:
external_url 'http://your_domain_or_ip' - HTTPS:
external_url 'https://your_domain_or_ip'(启用后请配置证书)
- HTTP:
- 使配置生效:
sudo gitlab-ctl reconfigure(必要时sudo gitlab-ctl restart)。 - 端口与组件关系:内置 Nginx 默认占用 80/443;如与已有 Web 服务冲突,可改用非标准端口(如 8080/8888)或采用外部反向代理。
四 域名 DNS 与 NAT 场景
- 域名解析:在 DNS 服务商将域名 A 记录 指向服务器公网/内网 IP;内网环境可配置 CNAME 或内网 DNS。
- NAT/端口转发(如家庭/机房网关后):将公网的 80/443/22 转发到内网 GitLab 主机的对应端口(协议与端口保持一致)。
- 验证:
nslookup your_domain、curl -I http://your_domain、从外网测试访问与克隆。
五 反向代理 高可用与常见问题
- 外部 Nginx 反向代理(示例要点):
- 禁用内置 Nginx:
nginx['enable'] = false - 代理到 GitLab 内置 Unix socket:
upstream gitlab { server unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket; } - 反向代理头部:
proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; - 权限与重载:
sudo chmod -R o+x /var/opt/gitlab/gitlab-rails,sudo gitlab-ctl reconfigure,外部 Nginxreload。
- 禁用内置 Nginx:
- 负载均衡与高可用:以 Nginx 为入口做 upstream 分发,结合 Keepalived 管理 VIP 实现故障切换。
- 常见故障排查:
- 访问不通:核对 firewalld/安全组、端口占用(
ss -tlnp | grep -E '80|443|22')、external_url与 DNS。 - 502/504:检查反向代理超时与头部、后端服务状态、资源(内存/CPU)是否不足。
- SSH 拉取失败:确认 SSH 端口 放行、客户端使用正确的 SSH 地址(
git@your_domain:group/project.git)。
- 访问不通:核对 firewalld/安全组、端口占用(
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos gitlab网络配置要点
本文地址: https://pptw.com/jishu/785667.html
