Gitlab在安装的时候,如果地址输入时带有https,会自动从Let's Encrypt申请证书,但是申请的证书只有三个月有效期,比较短,所以可以申请一个一年的免费证书,在阿里云、腾讯云等很多服务商,都可以申请。
申请成功后 ,将证书下载回来。因为Gitlab自带的Web服务器是Nginx,因此,需要下载Nginx版本。注意要下载Nginx版本,其他版本可能会出问题:《使用https和客户端请求Gitlab时报证书的错误:unable to verify the first certificate》。
下载回来后,一般会有一个crt或者pem文件,和一个key文件,将这两个文件放入:
/etc/gitlab/ssl/
然后配置gitlab的配置文件:
vim /etc/gitlab/gitlab.rb
找到nginx相关的部分:
nginx['enable'] = true
nginx['redirect_http_to_https_port'] = 80
nginx['ssl_certificate'] = "/etc/gitlab/ssl/git.yangyq.net.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/git.yangyq.net.key"
其中ssl_certificate是crt文件或者pem文件的路径,ssl_certificate_key是key文件的路径。
保存后,重新配置gitlab并重启。
gitlab-ctl reconfigure
gitlab-ctl restart