去年搭建的gitlab,使用了阿里云的免费ssl证书来配置https,证书一年有效。前几天过期后无法访问了。
申请了新的证书,将.key和.pem文件,通过scp命令拷贝到/etc/gitlab/ssl目录下,使用openssl命令生成.crt文件,gitlab-ctl reconfigure,没报错,但不成功。
gitlab-ctl status查看,发现nginx没有启动成功。
gitlab-ctl tail查看日志,发现是nginx读取.crt文件的时候发现格式错误。
查了半天,原因是openssl命令生成.crt文件的时候,格式参数设置为der了,实际上应该设置为pem。
vim看了一下已经过期的crt文件,果然显示得整整齐齐,看新的这个crt文件,一堆乱码。
用openssl重新生成crt,vim查看没有乱码了,再次gitlab-ctl reconfigure,搞定。
记下来,估计明年还得用到。