一、生成证书相关文件
准备工作:进入/etc/gitlab/ssl目录,也可以是其他目录,这个目录需要跟后边gitlab配置里nginx['ssl_certificate_key']配置的目录保持一致
1、确保安装了openssl,查看openssl版本号
openssl version
2、根据本机信息生成key文件
openssl genrsa -des3 -out server.key 2048
其中server为.key文件的文件名,2048表示生成密钥的长度
会要求你输入一个大于四位数的密码,随便输入即可,但是要记住,后边取消密码会用到
3、通过key文件生成.csr文件
openssl req -new -key server.key -out server.csr
输入第2步填写的密码,随后会让你输入一系列信息,可不输入,直接一路回车到结束
4、免除.key文件的密码
openssl rsa -in server.key -out server.key
通过此操作后,查看.key文件就不需要密码了,gitlab才能读取.key文件
5、通过.key和.csr文件生成.crt文件。到此证书就生成成功了
openssl x509 -req -days 700 -in server.csr -signkey server.key.unsecure -out server.crt
二、生成好证书接下来修改一下gitlab配置文件gitlab.rb即可
vim /etc/gitlab/gitlab.rb
需要修改配置有:
1、external_url "https://ip"
2、nginx['redirect_http_to_https']= true
3、nginx['ssl_certificate']= "/etc/gitlab/ssl/server.crt"
4、nginx['ssl_certificate_key']= "/etc/gitlab/ssl/server.key"
5、nginx['enable'] = true
6、nginx['redirect_http_to_https_port'] = 80
修改配置完成后重新加载一下配置
gitlab-ctl reconfigure
到此,gitlab就变成https访问了