debian

如何在Debian上配置GitLab的SSL证书

小樊
39
2025-06-24 03:37:48
栏目: 云计算

在Debian上配置GitLab的SSL证书可以通过多种方式实现,包括使用Let’s Encrypt免费证书、自签名证书或购买商业证书。以下是使用Let’s Encrypt免费证书的详细步骤:

前提条件

  1. 安装GitLab:确保你已经在Debian上安装了GitLab。
  2. 安装Certbot:Certbot是一个用于获取和续订Let’s Encrypt证书的工具。
sudo apt update
sudo apt install certbot python3-certbot-nginx

配置SSL证书

1. 获取Let’s Encrypt证书

使用Certbot获取Let’s Encrypt证书。假设你的GitLab域名是gitlab.example.com

sudo certbot --nginx -d gitlab.example.com

Certbot会自动配置Nginx以使用SSL,并将证书和私钥文件放在/etc/letsencrypt/live/gitlab.example.com/目录下。

2. 配置GitLab使用SSL

编辑GitLab的配置文件/etc/gitlab/gitlab.rb,确保以下配置项正确设置:

external_url 'https://gitlab.example.com'

nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.example.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.example.com/privkey.pem"
nginx['ssl_protocols'] = "TLSv1.2 TLSv1.3"
nginx['ssl_ciphers'] = "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:!DSS"

保存并关闭文件后,运行以下命令重新配置GitLab:

sudo gitlab-ctl reconfigure

3. 自动续订证书

Certbot会自动设置一个cron任务来定期续订证书。你可以手动测试续订过程:

sudo certbot renew --dry-run

如果没有错误,证书将会被成功续订。

验证配置

打开浏览器,访问https://gitlab.example.com,确保SSL证书已正确安装并且页面可以正常访问。

通过以上步骤,你应该能够在Debian上成功配置GitLab的SSL证书。如果你遇到任何问题,请检查Nginx和GitLab的日志文件以获取更多信息。

0
看了该问题的人还看了