在Ubuntu上为GitLab部署HTTPS,您需要获取SSL证书并配置GitLab以使用该证书。以下是详细步骤:
您可以使用Let’s Encrypt免费获取SSL证书。首先,确保已安装Certbot。如果尚未安装,请运行以下命令:
sudo apt-get update
sudo apt-get install certbot
运行以下命令以获取SSL证书。请确保将yourdomain.com
替换为您的实际域名。
sudo certbot certonly --standalone --http-01-port=80 -d yourdomain.com -d www.yourdomain.com
成功后,您将在/etc/letsencrypt/live/yourdomain.com/
目录下找到证书文件(fullchain.pem
)和私钥文件(privkey.pem
)。
首先,备份原始的GitLab配置文件:
sudo cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.bak
使用文本编辑器打开/etc/gitlab/gitlab.rb
文件:
sudo nano /etc/gitlab/gitlab.rb
找到以下行并进行修改:
external_url 'http://yourdomain.com'
将其更改为:
external_url 'https://yourdomain.com'
然后,在文件末尾添加以下内容,以指定SSL证书和私钥文件的路径:
nginx['ssl_certificate'] = "/etc/letsencrypt/live/yourdomain.com/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/yourdomain.com/privkey.pem"
保存并关闭文件。
运行以下命令以应用更改:
sudo gitlab-ctl reconfigure
最后,重启GitLab服务:
sudo gitlab-ctl restart
现在,您的GitLab实例应该已经通过HTTPS提供服务。请确保将yourdomain.com
替换为您的实际域名,并根据需要调整防火墙规则以允许HTTPS流量。