gitlab 配https_记一次gitlab同时保留http和https的配置过程

随着企业安全等级意识提高的需求越来越强力,给gitlab私有仓库部署ssl证书的需求也越来越多,但是受限于一些git版本不支持https或者某些项目的特殊需求,要求gitlab同时保留http和https。

先说gitlab,我们知道gitlab原生自带nginx模块,gitlab启动的时候这个模块就会启动起来,占用了80端口(gitlab默认以http的方式访问),但是当我们修改成https访问的时候gitlab会自动把http的访问请求转到https,这样我们要求gitlab同时支持http和https的需求就无法直接完成,需要做一部分修改。这里有两种思路:

一:外面用nginx再做一层代理。这中实现方式稍显复杂,且两次层nginx转发可能会有冲突。

二:直接使用gitlab的nginx做相关操作,推荐形式:

1.在华为云官网申请ssl证书,并将下载的nginx证书放入您的指定目录。

2.修改gitlab配置文件

sudo vim /etc/gitlab/gitlab.rb

nginx['ssl_certificate'] = "/yourdir/****.pem"

nginx['ssl_certificate_key'] = "/yourdir/****.key"

3.重建配置

sudo gitlab-ctl reconfigure

此时,测试域名已开启https访问

4.拷贝一份新的gitlab的nginx配置文件,并修改http.conf中的端口和绑定server_name

sudo cp /var/opt/gitlab/nginx/conf/gitlab-http.conf  /var/opt/gitlab/nginx/conf/http.conf

5.修改/var/opt/gitlab/nginx/conf/nginx.conf文件

sudo vim /var/opt/gitlab/nginx/conf/nginx.conf

include /var/opt/gitlab/nginx/http.conf #添加这一行

6.重启nginx

sudo gitlab-ctl restart nginx

至此,配置完毕。因gitlab版本问题可能导致某些nginx启动失败,若配置过程遇到问题,可查看/var/log/gitlab/nginx/error.log。


版权声明:本文为weixin_32060735原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。