0 Preface/Foreword
0.1 SSL certificate problem
开发过程中,gitlab-runner连接gitlab时候出现SSL 证书问题。
场景:公司的gitlab runner服务器引入了SSL证书,每年都会主动更新一次。当前的gitlab-runner运行在PC机器上,但是gitlab-runner的运行环境在PC机器的虚拟机上面,PC机和虚拟机在启动gitlab-runner时候,通过SSH通讯,这就可以不用虚拟机一直运行,而是当需要时候,后台运行虚拟机。这里就产生了一个问题,通讯过程中,虚拟机通过指定的snapshot进行通讯,此时snapshot的时间为当时产生snapshot的时间点,也就是说跟当前时间(实际时间)存在偏差,到时SSL问题。
解决方法:删除当前的snapshot,重新生成一个新的snapshot(名字保持不变,这要就不需要修改PC端gitlab-runner与虚拟机通讯逻辑),那么此时的时间会跟当前时间差保持在一年之内。 可以解决该问题。
1 SSL介绍
1.1 概念
SSL: Secure Socket Layer ,安全套接层,一种网络安全协议,在TCP/IP协议上,实现的一种安全协议。
2 TLS介绍
TLS:Transport Layer Security