在Linux中为GitLab配置SSL证书可以通过多种方式实现,包括使用Let’s Encrypt的免费证书、购买商业证书或使用自签名证书。以下是使用Let’s Encrypt和Certbot为GitLab配置SSL证书的步骤:
Certbot是一个自动化的工具,用于获取和续订Let’s Encrypt证书。你可以使用以下命令安装Certbot:
sudo apt update
sudo apt install certbot python3-certbot-nginx
Certbot会自动检测Nginx配置文件,并提示你输入域名和邮箱地址。以下是获取证书的命令:
sudo certbot --nginx -d yourdomain.com -d www.yourdomain.com
将yourdomain.com替换为你的实际域名。
Certbot会自动修改Nginx配置文件以使用SSL证书。你需要确保GitLab的Nginx配置文件也被正确配置。编辑GitLab的Nginx配置文件:
sudo nano /etc/gitlab/gitlab.rb
找到以下行并进行修改:
external_url 'https://yourdomain.com'
将yourdomain.com替换为你的实际域名。
保存并退出编辑器后,运行以下命令以应用更改:
sudo gitlab-ctl reconfigure
打开浏览器并访问https://yourdomain.com,你应该能够看到GitLab的登录页面,并且浏览器地址栏应该显示安全锁标志。
Let’s Encrypt证书每90天需要续订一次。Certbot可以自动续订证书。你可以设置一个cron任务来自动执行续订:
sudo crontab -e
添加以下行:
0 0,12 * * * certbot renew --post-hook "gitlab-ctl reconfigure"
这将在每天午夜和中午检查并续订证书。
通过以上步骤,你应该能够在Linux上成功为GitLab配置SSL证书。