更新 LetsEncrypt 证书

简介: 更新 LetsEncrypt 证书

场景

LetsEncrypt 可以自动续期,突然有一天自动续期不好使了,


解决方案

手动续期

根据官方文档手动执行证书续期后发现出现了 bug

$ sudo gitlab-ctl renew-le-certs
Traceback (most recent call last):
    7: from /opt/gitlab/embedded/bin/omnibus-ctl:23:in `<main>'
    6: from /opt/gitlab/embedded/bin/omnibus-ctl:23:in `load'
    5: from /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/omnibus-ctl-0.6.0/bin/omnibus-ctl:31:in `<top (required)>'
    4: from /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/omnibus-ctl-0.6.0/lib/omnibus-ctl.rb:746:in `run'
    3: from /opt/gitlab/embedded/lib/ruby/gems/2.7.0/gems/omnibus-ctl-0.6.0/lib/omnibus-ctl.rb:204:in `block in add_command_under_category'
    2: from /opt/gitlab/embedded/service/omnibus-ctl/letsencrypt.rb:21:in `block in load_file'
    1: from /opt/gitlab/embedded/service/omnibus-ctl/lib/gitlab_ctl/util.rb:62:in `get_node_attributes'
/opt/gitlab/embedded/service/omnibus-ctl/lib/gitlab_ctl/util.rb:47:in `parse_json_file': Attributes not found in /opt/gitlab/embedded/nodes/hecs-210984.json, has reconfigure been run yet? (GitlabCtl::Errors::NodeError)点击复制复制失败已复制

由于时间紧迫,这个报错信息看不太明白,不要纠结了,手动生成证书并替换吧。


证书替换

首先查看一下证书所在位置:

$ sudo cat /var/opt/gitlab/nginx/conf/gitlab-http.conf | grep ssl_certificate
  ssl_certificate /etc/gitlab/ssl/git.xxx.cn.crt;
  ssl_certificate_key /etc/gitlab/ssl/git.xxx.cn.key;点击复制复制失败已复制


可以看到证书的存放位置为: /etc/gitlab/ssl/ 目录,将手动生成的公钥和私钥文件上传到这里,并修改为同名后重启服务:

$ sudo gitlab-ctl restart
ok: run: crond: (pid 25546) 0s
ok: run: gitaly: (pid 25553) 0s
ok: run: gitlab-workhorse: (pid 25555) 1s
ok: run: logrotate: (pid 25574) 0s
ok: run: nginx: (pid 25585) 0s
ok: run: postgresql: (pid 25596) 0s
ok: run: puma: (pid 25611) 0s
ok: run: redis: (pid 25616) 0s
ok: run: registry: (pid 25628) 1s
ok: run: sidekiq: (pid 25644) 0s
目录
相关文章
|
编解码 API 开发工具
FFmpeg入门及编译 1
FFmpeg入门及编译
376 1
|
9月前
|
监控 安全 网络协议
永久免费SSL证书教程—自动续签
要实现免费SSL证书的自动续签,选择合适的证书颁发机构(CA)至关重要。推荐使用JoySSL,填写注册码230922可获得免费且支持自动续签的SSL证书。申请步骤包括注册账户、选择证书类型、提交申请、验证域名所有权及安装证书。配置自动续签需安装续签工具、生成密钥和CSR,并设置续签参数。定期检查证书状态、备份证书和密钥,确保续签顺利进行。注意CA机构的政策和服务条款变化,以保持证书的有效性。
|
存储 Ubuntu 开发工具
在Ubuntu 18.04上安装Git的方法
在Ubuntu 18.04上安装Git的方法
219 0
|
关系型数据库 Java MySQL
从0开始部署阿里云服务器(萌新必看)
搭建阿里云服务器涉及购买、控制台介绍及配置。购买时可选择免费试用或直接购买,根据需求选择计费方式和地区。在服务器控制台,可找到实例并进行远程连接。配置包括Java环境,卸载OpenJDK,下载安装Java,配置环境变量。接着配置Tomcat,下载对应版本,解压并启动,确保防火墙允许8080端口。最后配置MySQL,安装,设置密码,更新远程访问权限。整个过程旨在提供一个基础的云服务器配置指南。
2612 1
|
数据采集 Web App开发 数据安全/隐私保护
Python爬虫-使用代理伪装IP
介绍代理,设置代理,使用代理伪装IP案例
727 0
|
存储 安全 程序员
CSDN网站六百万用户信息外泄
事情发生很多年了,但是今天还是发给大家看一下,明文密码,以及设置密码习惯的危害,有人对这些数据密码进行了分析,感兴趣的可以去google标题内容。
|
存储 JavaScript 前端开发
FingerprintJS - 在浏览器端实现指纹识别
  FingerprintJS 是一个快速的浏览器指纹库,纯 JavaScript 实现,没有依赖关系。默认情况下,使用 Murmur Hash 算法返回一个32位整数。Hash 函数可以很容易地更换。
5941 0
|
监控 IDE Java
【SpringBoot2】开发实用篇-热部署
简单说就是你程序改了,现在要重新启动服务器,嫌麻烦?不用重启,服务器会自己悄悄的把更新后的程序给重新加载一遍,这就是热部署。
532 0
【SpringBoot2】开发实用篇-热部署
|
监控 NoSQL 数据可视化
Redis 官方可视化工具,功能真心强大!
Redis 官方可视化工具,功能真心强大!
Redis 官方可视化工具,功能真心强大!
|
应用服务中间件 nginx
记一次nginx转发的问题(POST请求慎用301 Moved Permanently)
您好,我是码农飞哥,感谢您阅读本文!如果此文对您有所帮助,请毫不犹豫的一键三连吧
1434 0