Docker下Gitlab配置私有证书

news2024/12/26 11:03:36

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证书

自制证书可以使用,但是在使用时浏览器会提示不是安全。
在这里插入图片描述
代码克隆界面:
会提示self signed certificate
在这里插入图片描述
问题分析
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证书。
在这里插入图片描述

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。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/530701.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

玩转Google开源C++单元测试框架Google Test系列(gtest)之三 - 事件机制

一、前言 gtest提供了多种事件机制,非常方便我们在案例之前或之后做一些操作。总结一下gtest的事件一共有3种: 1. 全局的,所有案例执行前后。 2. TestSuite级别的,在某一批案例中第一个案例前,最后一个案例执行后。…

【STM32】基础知识 第十四课 串口通信: 深入探究与应用

【STM32】基础知识 第十四课 串口通信: 深入探究与应用 概述串口通信的基本原理串行通信 & 并行通信串行通信并行通信串行 vs 并行 单工/半双工/全双工单工通信半双工通信全双工通信总结 同步通信/异步通信同步通信异步通信波特率 常见的串行通信接口STM32 串口配置STM32 串…

linux pl320 mbox控制器驱动分析-(3) pl320驱动代码分析

linux pl320 mbox控制器驱动分析-(3)pl320驱动代码分析 1 pl320 mbox控制器宏定义2 初始化接口3 ipc_handler mbox中断处理函数4 数据的收发4.1 数据发送4.2 数据接收4.3 中断发送接收测试代码 5 设置以及清除远端目的core5.1 设置远端目的core5.2 清除远…

中东地区DNSpionage安全事件分析

事件摘要 思科Talos公司最近发现了一个以影响.gov域名为攻击手段的安全事件,而此安全事件主要针对黎巴嫩和阿拉伯联合酋长国(阿联酋)以及一家私营的黎巴嫩航空公司。根据我们的研究,攻击者花费了许多时间来了解受害者的基础网络&…

第九章结构性模式—桥接模式

文章目录 桥接模式解决的问题概念结构 实例使用场景 结构型模式描述如何将类或对象按某种布局组成更大的结构,有以下两种: 类结构型模式:采用继承机制来组织接口和类。对象结构型模式:釆用组合或聚合来组合对象。 由于组合关系或…

【数据科学赛】评估大语言模型 #¥65000

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息由AI辅助创作,仅供参考 比赛名称 大语言模型评估[2] (见文末阅读原文) 大赛背景 本次竞赛希…

OTA实现设备升级方案

引言 空中下载技术(Over-the-Air Technology, OTA)是通过移动通信的空中接口实现对移动终端设备进行远程管理的技术。 该技术在IOT行业非常的重要,当随着市场上的产品越来越多,保有量也越来越多,随着时间…

MySQL 性能调优及生产实战篇(一)

前言数据建模方案、数据类型优化存储引擎选择合理使用范式、反范式字符集选择主键选择适当数据冗余适当拆分数据类型优化更小更好简单就好尽量避免 NULL具体优化细节整型字符、字符串类型datetime、timestamp枚举代替字符串类型特殊类型 索引优化索引用处索引分类技术名词 总结…

由浅入深RPC通信原理实战

目录 1 背景知识2 RPC概述3 RPC框架实现要点3.1 注册中心3.2 代理技术3.3 序列化技术3.4 RPC通信协议3.5 系统IO3.6 超时重试机制3.7 时间轮算法3.8 负载均衡策略3.9 熔断限流3.10 滑动窗口算法3.11 限流组件 1 背景知识 单体架构 RPC产生解决的问题: 序列化是指…

Ae:图层面板 - 视图选项

从图层面板 Layer Panel的“显示通道和色彩管理设置” Show Channel and Color Manage Settings按钮中可以选择各种视图模式,与 Alpha 通道相关的一些视图可直接通过图层面板左下方的按钮或者使用快捷键进行切换。 其它的视图选项(图层面板的最下方一行&…

基于PyQt5的图形化界面开发——PyQt示例_扫雷

基于PyQt5的图形化界面开发——PyQt示例_扫雷 前言1. 效果演示2. minesweeper.py3.图片文件其他文章 前言 今天来学习PyQt5的示例,其中主要涉及到一些触发函数窗口切换函数。 操作系统:Windows10 专业版 开发环境:Pycahrm Comunity 2022.3…

三分钟了解Spring Boot启动原理

大家通常只需要给一个类添加一个SpringBootApplication 注解,然后再加一个main 方法里面固定的写法 SpringApplication.run(Application.class, args); 那么spring boot 到底是如何启动服务的呢。 接下来咱们通过源码解析。 Spring Boot 的启动原理可以概括为以下几…

一篇吃透布隆过滤器(Bloom Filter)及其使用场景

目录 1、什么是布隆过滤器 2、布隆过滤器的原理 2.1 布隆过滤器的数据结构 2.2 布隆过滤器的检索和插入原理 2.3 布隆过滤器元素的修改和删除 3、布隆过滤器的使用场景 3.1 Redis通过布隆过滤器防止缓存穿透 3.2 RocketMQ通过布隆过滤器防止消息重复消费 4、布隆过滤器…

DAPP开发(三)——智能合约开发

智能合约 Remix IDE 是开发以太坊智能合约的在线IDE工具,部署简单的智能合约非常方便。 http://remix.ethereum.org truffle 一个世界级的智能合约开发框架,专为智能合约而生。 管理智能合约的生命周期自动化合约测试可编程,可部署&…

linux安装jupyter notebook

目录 使用miniconda的conda安装 切换conda镜像源有两种方法: 设置密码: 修改配置文件: 启动 关闭进程: 使用miniconda的conda安装 conda install jupyter 如果镜像不好用则切换conda镜像源 切换conda镜像源有两种方法: 1. [shuqiqshuqiq bin]$ ./conda config --add…

MyBatis - 基础使用Ⅰ

这篇文章将讲解MyBatis的基础使用,MyBatis的学习是非常重要的,在前面学习servlet的时候,我们就能感受到将数据持久化存储的重要性,当时在使用JDBC的时候非常繁琐麻烦,但是在Spring里,提供了一种框架可以轻松…

真题详解(传引用)-软件设计(七十五)

真题详解(补码转换)-软件设计(七十四)https://blog.csdn.net/ke1ying/article/details/130674214 分治算法技术设计______。 答案:1、问题划分 2、递归求解 3、合并解 虚拟存储体系_____两级构成。 解析:主存 和 辅…

vue项目打包成桌面应用并修改图标

目录 1. 打包为桌面应用 2.修改图标 1. 打包为桌面应用 1.在vux项目的终端执行打包 npm run build 2.会在项目文件夹里面出现一个dist文件夹 里面有这几个文件组成 3.在这里需要添加一个 package.json 文件 package.json 内容 {"name": "鼠标放图标上面的提…

环形链表解释约瑟夫问题

环形链表解释约瑟夫问题 来自尚硅谷开放课程的迁移学习,致敬尚硅谷的各位老师,受益匪浅!!! 单向链表,双向链表,环形链表对比介绍 单向链表、双向链表和环形链表都是常见的链表数据结构&#…

介绍如何在 MySQL 中创建新用户并授予权限?

MySQL 是一个开源的关系型数据库管理系统,常用于存储和管理大量的结构化数据。在使用 MySQL 进行数据管理时,为了安全和方便管理,通常需要创建新用户并授予相应的权限。本文将介绍如何在 MySQL 中创建新用户并授予权限的方法。 创建新用户 在…