ssl证书90天过期?保姆级教程——使用acme.sh实现证书的自动续期

news2024/12/25 9:26:03
  • 腾讯云相关文档相关参考-有的点不准确

前言

最近https到期了,想着手动更新一下https证书,结果发现证书现在的有效期只有90天,于是想找到一个自动更新证书的工具,发现了acme.sh,但是网上的文章质量参差不齐,可能需要多篇文章结合来操作,一步步试错。我这里结合了腾讯云的相关文档和一些其他的博文,保证一次性操作成功。

下载acme.sh

 git clone https://gitee.com/neilpang/acme.sh.git   

安装acme.sh

注意换成自己的邮箱号

 ./acme.sh --install -m xxxx@163.com 

设置自动升级

acme.sh --upgrade --auto-upgrade

选择ZeroSSL作为服务商

因为ZeroSSL可以支持泛域名,所以这里我就选择了ZeroSSL。

acme.sh --set-default-ca --server zerossl
  • 关联一下自己的邮箱
acme.sh --register-account -m acurd_com@163.com --server zerossl

腾讯云创建api秘钥账户

在这里插入图片描述

SecretId

AKIDHVYSCnFXEkKrCMLBxxxx
SecretKey

Ef8SZTFrQvTwEPRGulxxxxx
  • 将秘钥导入环境变量
export Tencent_SecretId="xxxxx"
export Tencent_SecretKey="xxxxx"
  • 申请证书

其中*.acurd.com是泛域名,acurd.com是根域名,

acme.sh --dns dns_tencent --issue -d *.acurd.com -d acurd.com   
  • 命令执行完毕,证书即颁发下来了
    在这里插入图片描述

  • 创建目录用来存储ssl

mkdir -p /home/ssl/acurd.com  
  • 安装证书到指定位置
acme.sh --installcert -d *.acurd.com \
        --key-file /home/ssl/acurd.com/*.acurd.com.key \
        --fullchain-file /home/ssl/acurd.com/fullchain.cer \
        --reloadcmd "service nginx reload"
  • 查看文件ls /home/ssl/acurd.com
[root@iZ2zeguqeswvn0s3zfrlyfZ acme.sh]# ls /home/ssl/acurd.com/
*.acurd.com.key  fullchain.cer
  • 修改nginx的证书目录
       # 请替换为证书实际路径
    ssl_certificate  /home/ssl/acurd.com/fullchain.cer;
    ssl_certificate_key /home/ssl/acurd.com/*.acurd.com.key;

重启Nginx服务,查看生效

在这里插入图片描述

配置根域名的https

acme.sh --installcert -d acurd.com \
        --key-file /home/ssl/root/acurd.com.key \
        --fullchain-file /home/ssl/root/fullchain.cer \
        --reloadcmd "service nginx reload"

如何自动续期

现在我们已经配置好了https,那么怎么实现自动续期呢,基于crontab我们就可以实现了,我们先写一个脚本refresh_https.sh

[root@iZ2zeguqeswvn0s3zfrlyfZ /]# vi /usr/local/acme.sh/refresh_https.sh


#!/bin/bash
# 切换到 acme.sh 目录
cd /usr/local/acme.sh
./acme.sh --dns dns_tencent --issue -d *.acurd.com -d acurd.com

# 执行 acme.sh 命令获取证书
./acme.sh --installcert -d *.acurd.com \
        --key-file /home/ssl/acurd.com/*.acurd.com.key \
        --fullchain-file /home/ssl/acurd.com/fullchain.cer \
        --reloadcmd "service nginx reload"

# 退出脚本
exit 0
  • 定时任务,每两个月执行一次更新操作
0 0 1 2,4,6,8,10,12 * /usr/local/acme.sh/refresh_https.sh

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

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

相关文章

基于Web的图书管理系统运行教程

1.5、安装数据库和数据库管理工具 目前作者所有毕设源码数据库都用 MySQL5.7版本,强烈建议初学者跟作者保持一致,避免出现其他错误,待运行成功后再根据需要调整数据库版本。 MySQL5.7安装教程请看作者另一篇文章:《MySQL绿色版安…

JavaScript--函数的参数列表以及arguments的用法

函数声明时,参数的问题 即使函数在定义时没有显示声明任何参数,你仍然可以在调用该函数时传递参数。 这是因为 JavaScript 函数内部有一个隐含的 arguments 对象,它包含了所有传递给函数的参数。 示例 我们来通过一些示例代码来更清楚地说…

vue项目中dom拖动排序功能实现

vue项目中拖动元素改变其顺序的功能实现 实现此功能,我利用的是SortableJs,其官网上直接介绍其为功能强大的js拖拽库,只需要简单的代码即可实现dom拖拽 1.下载 npm i sortablejs 2.引入 使用时,我们在那个页面中使用,就在该vue文…

Linux基础篇-逻辑卷管理

首先我们要知道,逻辑卷也来源于物理磁盘,只是将他们统一定义和重新分配空间。这一点非常重要,只有理解了这一定才能更好的理解逻辑卷和卷组。 本文介绍的是最常用的线性卷。 什么是线性卷?复杂的定义没必要去看,简单来…

Python基础教程(二十七):urllib模块

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快! 💝&#x1f49…

软件开发和部署,蓝绿环境、灰度环境

发布策略 目前常见的发布策略有蓝绿发布、红黑发布、金丝雀(灰度)发布、滚动发布等 在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。 蓝绿发…

竞赛选题 LSTM的预测算法 - 股票预测 天气预测 房价预测

0 简介 今天学长向大家介绍LSTM基础 基于LSTM的预测算法 - 股票预测 天气预测 房价预测 这是一个较为新颖的竞赛课题方向,学长非常推荐! 🧿 更多资料, 项目分享: https://gitee.com/dancheng-senior/postgraduate 1 基于 Ke…

uni-app中的css3选择器使用

2.给 view 添加样式 .box view{ font-size: 40upx; color: #8A6DE9; } 3.想改变某一个view 样式 .box>view:nth-child(1){ background: #09BB07; } .box>view:nth-child(2){ background: red; } .box>view:nth-child(3){ background: yellow; } 注意&am…

MMDetection 目标检测 —— 环境搭建和基础使用

参考文档 开始你的第一步 — MMDetection 3.3.0 文档 依赖 步骤 0. 下载并安装 Anaconda。 步骤 1. 创建并激活一个 conda 环境。(我选择的是python3.10) conda create --name openmmlab python3.8 -y conda activate openmmlab 步骤 2. 基于 PyTo…

【算法基础】Newton求根法

文章目录 Newton求根法算法求解平方根 Newton求根法 1664年Newton提出了一种迭代求根的方法。这种方法有时也被叫做Raphson方法。虽然Newton更早发现了这种方法,但Raphson首先在自己的文章中介绍了这种方法。 该方法解决的问题如下。 给定一个方程: …

AXI学习笔记

文章目录 AXI口诀:AXI三种总线,三种接口,一个协议背景知识一、 AMBA:二、AXI2.1 通信协议与握手机制2.2 AXI协议特点2.3 三种AXI总线类型(AXI4、AXI4-lite、AXI4-stream)2.3.1 AXI通道(5通道&am…

CleanMyMac中文版2024官方正式版下载!你的电脑清洁专家!

CleanMyMac中文版,你的电脑清洁专家!✨🧵 你是否曾为电脑的卡顿和垃圾文件而烦恼?别担心,CleanMyMac中文版来帮你解决这些问题!这款神奇的软件不仅可以帮助你清理垃圾文件,还能优化系统性能&…

循环的三种写法

一、for(i): for (int i0;i< arrayList.size();i){System.out.println(arrayList.get(i));} 最基本的循环方法。 二、for-each: 又称加强for &#xff0c;更简单的遍历集合。 三、迭代器: 迭代器是调用Java中的Iterator接口&#xff0c;该接口定义了三个方法分别是hasNex…

AI助手,办公提效好工具!

随着人工智能AI技术的发展&#xff0c;AI工具已经成为我们提高工作效率的重要工具。无论是日常办公、学习还是生活娱乐&#xff0c;AI工具都能为我们提供支持和帮助。下面小编就来和大家分享几款AI助手&#xff0c;方便大家了解和使用AI工具。 1. Kimi智能助手 Kimi智能助手是…

fastadmin配合定时任务

一个系统单纯到linux本身的定时任务&#xff0c;是很不方便的&#xff0c;需要结合起来使用定时任务 - 便捷的后台定时任务管理 – 基于ThinkPHP和Bootstrap的极速后台开发框架 1.安装插件 2.配置宝塔定时任务 3.自己用工具生成规则即可:Cron - 在线Cron表达式生成器

Vue3.4新增的defineModel的使用

define-model的作用 在3.3及之前的版本&#xff0c;父子组件之间的通讯&#xff0c;一直都是靠props&#xff08;父传子&#xff09;和emit&#xff08;子传父&#xff09;来实现。而define-model整合了这两种方法&#xff0c;只需要在父组件中定义define-model的方法&#xf…

肇庆具有资质等保机构有几家?在哪里?

在近期揭晓的“中国百强城市排行榜”中&#xff0c;广东省共有12个城市入选&#xff0c;其中包括肇庆。肇庆-山水之城&#xff0c;文化之韵&#xff0c;端砚之乡&#xff0c;岭南瑰宝&#xff0c;是一个非常有发展的城市&#xff0c;企业多多。这不不少肇庆企业在问&#xff0c…

MySQL——触发器(trigger)基本结构

1、修改分隔符符号 delimiter $$ $$可以修改 2、创建触发器函数名称 create trigger 函数名 3、什么样在操作触发&#xff0c;操作哪个表 after &#xff1a;……之后触发 before &#xff1a;……之后触发 insert &#xff1a;……之后触发 update &#xff1a;……之后触…

Flutter【组件】点击类型表单项

简介 flutter 点击表单项组件&#xff0c;适合用户输入表单的场景。 点击表单项组件是一个用户界面元素&#xff0c;通常用于表单或设置界面中&#xff0c;以便用户可以点击它们来选择或更改某些设置或输入内容。这类组件通常由一个标签和一个可点击区域组成&#xff0c;并且…

轻松ChatGPT的使用技巧,让你的生活更智能

ChatGPT&#xff0c;由OpenAI的GPT-3.5架构支持&#xff0c;已经彻底改变了我们与人工智能互动的方式。这个先进的语言模型被证明是一种多功能的工具&#xff0c;能够处理各种对话任务。不过&#xff0c;用户可以通过一些技巧和窍门&#xff0c;进一步提升使用ChatGPT的体验&am…