Docker下Gitlab配置私有证书

Docker下Gitlab配置私有证书

  • 1 创建私有证书
  • ※2 内网穿透配置(可选)
  • 3 Gitlab 配置私有证书
    • 3.1 新增存储HTTPS证书文件夹
    • 3.2 启动容器
    • 3.3 开放HTTPS端口
    • 3.4 设置IP、端口
    • 3.5 配置邮箱
    • 3.6 让配置生效
    • 3.7 访问

1 创建私有证书

参考 制作HTTPS私有证书 —HTTPS证书

自制证书可以使用,但是在使用时浏览器会提示不是安全。
Docker下Gitlab配置私有证书_第1张图片
代码克隆界面:
会提示self signed certificate
Docker下Gitlab配置私有证书_第2张图片
问题分析
gti客户端只支持https地址,需要client配置忽略https证书检验。

解决办法
打开Git Bash运行如下命令

export GIT_SSL_NO_VERIFY=true

git config --global http.sslVerify "false"

windows下:

git config --global http.sslVerify false

然后再进行 clone 就成功了。

※2 内网穿透配置(可选)

frp:

#本地服务
[gitlab]
type = tcp
local_ip = 192.168.3.220
local_port = 443
remote_port = 443
custom_domains = 真实ip

3 Gitlab 配置私有证书

在 Docker搭建配置Gitlab基础上做部分修改即可,这里仅对差别部分做修改记录。

3.1 新增存储HTTPS证书文件夹

创建cert文件夹用来存储HTTPS证书。
Docker下Gitlab配置私有证书_第3张图片

3.2 启动容器

docker run -itd  \
 -p 443:443 \
 -p 9980:80 \
 -p 9922:22 \
 -v /opt/soft/docker/gitlab/cert:/etc/gitlab/ssl \
 -v /opt/soft/docker/gitlab/etc:/etc/gitlab  \
 -v /opt/soft/docker/gitlab/log:/var/log/gitlab \
 -v /opt/soft/docker/gitlab/opt:/var/opt/gitlab \
 --restart always \
 --privileged=true \
 --name gitlab \
 gitlab/gitlab-ce

注意:新增了443端口,以及挂载证书文件夹。

3.3 开放HTTPS端口

开放443端口

firewall-cmd --zone=public --add-port=443/tcp --permanent

重启防火墙

firewall-cmd --reload

查询有哪些端口是开启的

firewall-cmd --list-port

3.4 设置IP、端口

  1. 进入容器
docker exec -it gitlab /bin/bash
  1. 修改配置文件
vi /etc/gitlab/gitlab.rb

在开头加入以下内容:
注意:external_url 的地址后面不能加端口,否则即使部署成功也无法访问。

#gitlab访问地址,可以写域名。如果端口不写的话默认为80端口
external_url 'https://真实ip'
#ssh主机ip
gitlab_rails['gitlab_ssh_host'] = '真实ip'
#ssh连接端口
gitlab_rails['gitlab_shell_ssh_port'] = 9922
#时区
gitlab_rails['time_zone'] = 'Asia/Shanghai'
#开启备份功能
gitlab_rails['manage_backup_path'] = true
#备份文件的权限
gitlab_rails['backup_archive_permissions'] = 0644
#保存备份 60 天
gitlab_rails['backup_keep_time'] = 5184000

# https证书配置
nginx['redirect_http_to_https']= true
nginx['ssl_certificate'] = "/etc/gitlab/ssl/server.crt"
nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/server.key"

主要修改:

  • external_url,将http改为https
  • 加入Nginxhttps证书配置。

3.5 配置邮箱

参见Docker搭建配置Gitlab的4.3 配置邮箱。

3.6 让配置生效

注意:这里只需要执行重启配置即可。不用配置443端口,因为已经自动指向了。

gitlab-ctl reconfigure

3.7 访问

访问地址:https://真实ip,注意是https。

你可能感兴趣的:(gitlab,gitlab)