在 CentOS 上修改 GitLab 的访问端口,通常分两种情况:HTTP/HTTPS 端口 和 SSH 端口。下面以 Omnibus 版 GitLab(最常见) 为例说明。
sudo vi /etc/gitlab/gitlab.rb
external_url 'http://gitlab.example.com:8080'
或直接使用 IP:
external_url 'http://192.168.1.100:8080'
✅ 如果只改端口而不改域名,external_url 里必须带端口。
sudo gitlab-ctl reconfigure
sudo gitlab-ctl restart
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload
external_url 'https://gitlab.example.com:8443'
并配置证书:
nginx['ssl_certificate'] = "/etc/gitlab/ssl/gitlab.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/gitlab.key"
然后:
sudo gitlab-ctl reconfigure
gitlab_rails['gitlab_shell_ssh_port'] = 2222
sudo gitlab-ctl reconfigure
sudo firewall-cmd --permanent --add-port=2222/tcp
sudo firewall-cmd --reload
git clone ssh://git@gitlab.example.com:2222/group/project.git
如果你不想改 external_url,也可以只改 Nginx:
nginx['listen_port'] = 8080
nginx['listen_https'] = false
然后:
sudo gitlab-ctl reconfigure
⚠️ 此方式可能导致 GitLab 生成的 clone 地址不正确。
sudo gitlab-ctl status
netstat -tunlp | grep 8080
如果你是用 Docker 版 GitLab 或 源码安装,告诉我,我可以给你对应改法。