在CentOS上配置GitLab的SSL证书可以通过多种方式实现,包括使用Let’s Encrypt免费证书、购买SSL证书或使用自签名证书。以下是使用Let’s Encrypt免费证书的详细步骤:
前提条件
- CentOS 7或更高版本:确保你的系统是最新的。
- GitLab已安装:如果还没有安装GitLab,请先按照官方文档进行安装。
- Nginx或Apache:GitLab通常使用Nginx作为Web服务器。确保Nginx已安装并运行。
步骤
1. 安装Certbot
Certbot是一个自动化的工具,用于获取和续订Let’s Encrypt证书。
sudo yum install epel-release
sudo yum install certbot python2-certbot-nginx
2. 获取SSL证书
使用Certbot获取SSL证书。假设你的GitLab域名是gitlab.example.com。
sudo certbot --nginx -d gitlab.example.com
在提示时,选择以下选项:
- 是否重定向所有HTTP流量到HTTPS?(选择“是”)
- 是否配置防火墙以允许HTTP流量?(根据你的防火墙配置选择)
Certbot会自动修改Nginx配置文件,并添加SSL证书的相关配置。
3. 验证证书
Certbot会自动验证你的域名所有权。如果一切顺利,你会看到类似以下的输出:
Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/gitlab.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/gitlab.example.com/privkey.pem
4. 配置GitLab使用SSL
确保GitLab配置文件/etc/gitlab/gitlab.rb中启用了SSL。
打开文件:
sudo nano /etc/gitlab/gitlab.rb
找到并修改以下行:
external_url 'https://gitlab.example.com'
确保URL是你的GitLab实例的完整URL,并且使用了HTTPS。
5. 重新配置和重启GitLab
保存并关闭文件后,运行以下命令以应用更改:
sudo gitlab-ctl reconfigure
然后重启GitLab服务:
sudo gitlab-ctl restart
6. 验证SSL配置
打开浏览器,访问https://gitlab.example.com,你应该能看到一个安全的连接(锁形图标)。
自动续订证书
Let’s Encrypt证书每90天需要续订一次。Certbot会自动设置一个cron任务来处理续订。你可以手动测试续订过程:
sudo certbot renew --dry-run
如果没有错误,Certbot会在证书到期前自动续订。
使用购买或自签名证书
如果你选择购买SSL证书或使用自签名证书,步骤会有所不同。你需要手动将证书和私钥文件放置在适当的位置,并在Nginx配置中引用它们。
例如,假设你的证书文件是/etc/ssl/certs/gitlab.example.com.crt,私钥文件是/etc/ssl/private/gitlab.example.com.key,你可以修改Nginx配置文件如下:
server {
listen 443 ssl;
server_name gitlab.example.com;
ssl_certificate /etc/ssl/certs/gitlab.example.com.crt;
ssl_certificate_key /etc/ssl/private/gitlab.example.com.key;
# 其他配置...
}
然后重新加载Nginx配置:
sudo systemctl reload nginx
通过以上步骤,你应该能够在CentOS上成功配置GitLab的SSL证书。
以上就是关于“如何在CentOS上配置GitLab的SSL证书”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm