在CentOS上为GitLab配置SSL,您需要首先获取一个SSL证书,然后配置GitLab以使用该证书。以下是详细步骤:
您可以选择购买一个SSL证书,或者使用免费的Let’s Encrypt证书。以下是使用Certbot(一个Let’s Encrypt客户端)获取证书的示例:
首先,确保已安装Certbot和Nginx:
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
然后,运行Certbot以获取SSL证书:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
按照提示操作,Certbot将自动为您的域名生成SSL证书,并配置Nginx。
找到GitLab的Nginx配置文件。通常位于/etc/gitlab/gitlab.rb。使用文本编辑器打开它,例如:
sudo nano /etc/gitlab/gitlab.rb
找到以下行:
nginx['ssl_certificate'] = "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
确保这些行没有被注释掉(没有行首的#字符),并确保路径与您的证书文件路径匹配。
如果您之前已经配置过GitLab的SSL,请先备份原始配置:
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.backup
保存并关闭文件。
运行以下命令以应用更改:
sudo gitlab-ctl reconfigure
最后,重启GitLab服务:
sudo gitlab-ctl restart
现在,您的GitLab实例应该已经通过HTTPS提供服务。请访问https://yourdomain.com以验证配置是否正确。