首页 > 其他分享 >ssl证书90天过期?保姆级教程——使用acme.sh实现证书的自动续期

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

时间:2024-07-25 17:56:26浏览次数:14  
标签:acme acurd 证书 -- ssl sh com

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

下载acme.sh

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

安装acme.sh

注意换成自己的邮箱号

 ./acme.sh --install -m [email protected] 

设置自动升级

acme.sh --upgrade --auto-upgrade

选择ZeroSSL作为服务商

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

acme.sh --set-default-ca --server zerossl
  • 关联一下自己的邮箱
acme.sh --register-account -m [email protected] --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;

配置根域名的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

 
#!/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

转自:https://blog.csdn.net/qq_44624290/article/details/139870116

标签:acme,acurd,证书,--,ssl,sh,com
From: https://www.cnblogs.com/shenyixin/p/18323836

相关文章

  • C#版OpenCV:OpenCVSharp 最详细最全面教程(万字详细总结)
    文章目录1.OpenCVSharp简介2.图像基本操作3.图像颜色空间转换4.图像几何变换5.图像阈值处理6.平滑图像7.图像梯度8.图像边缘检测9.图像直方图10.图像轮廓检测11.图像特征匹配12.视频读取与显示13.图像形态学操作14.图像混合与透明度处理15.霍夫变换16.傅......
  • Csharper Async和Await
    Async和Await的学习AsyncAwait语法解读它是一个语法糖:编译器提供的便捷功能async是用来修饰方法,如果单独出现,方法会警告,没有什么作用await在方法体内部,只能放在async修饰的方法内,必须放在task前面async/await方法里面如果没有返回值,默认返回一个Task,或者void(推荐用Task,而......
  • 开源PHP大型商城购物系统 ShopXO 前端uniapp企业级B2C内置多种配色随意切换支持打包成
    开源PHP大型商城购物系统ShopXO前端uniapp企业级B2C内置多种配色随意切换支持打包成小程序开源PHP大型商城购物系统ShopXO前端uniapp企业级B2C内置多种配色随意切换支持打包成小程序ShopXO是一款基于ThinkPHP6框架完全开源的电商系统,容易扩展,具有强大的负载能力和稳定性业级......
  • Linux Shell脚本攻略 chapter1------小试牛刀
    1、简介终端提示符username@hostname$---$表示普通用户root@hostname#---#表示超级用户shell脚本通常是以#!起始的文本文件---#!/bin/bash运行shell脚本的方式shscript.sh将脚本作为sh的命令行参数chmoda+xscript.sh和./script.sh增加可执行权限,让脚本能够......
  • 使用 Scrapy 进行身份验证并登录用户会话的证书?
    在Scrapy文档中,有以下示例说明如何在Scrapy中使用带有登录数据的经过身份验证的会话:classLoginSpider(BaseSpider):name='example.com'start_urls=['http://www.example.com/users/login.php']defparse(self,response):return[FormRequest.from_response(......
  • 免费SSL证书申请流程
    免费SSL证书可以让您的网站以较低的成本实现HTTPS加密,这对于提升网站的安全性和用户的信任非常重要。以下是申请免费SSL证书的一般流程,以JoySSL为例。准备工作:确定需要的证书类型(单域名、通配符或多域名证书)。准备好需要安装证书的域名。选择CA访问JoySSL官方网站。创建......
  • 【YashanDb知识库】YashanDB的JDBC/OCI驱动如何设置字符编码
    问题现象Oracle、Mysql数据库链接串,JDBC驱动连接串可以指定客户端的编码格式:jdbc:mysql://hostname:port/database_name?useUnicode=true&characterEncoding=utf8mb4jdbc:oracle:thin:@//hostname:port/service_name?NLS_LANGUAGE=AMERICAN&NLS_TERRITORY=AMERICA&NLS_CHARACTE......
  • shell-awk命令详解(理论+实战)
    一、概述AWK是一种处理文本文件的语言,是一个强大的文本分析工具。它是专门为文本处理设计的编程语言,也是行处理软件,通常用于扫描、过滤、统计汇总工作数据可以来自标准输入也可以是管道或文件。20世纪70年代诞生于贝尔实验室,现在centos7用的是gawk之所以......
  • 【攻防技术系列+WebShell】检测方式
    一、简介攻击者在入侵企业网站时,通常要通过各种方式获取webshell从而获得企业网站的控制权,然后方便进行之后的入侵行为。常见攻击方式有:直接上传获取webshell、SQL注入、远程文件包含(RFI)、FTP,甚至使用跨站点脚本(XSS)作为攻击的一部分,甚至一些比较老旧的方法利用后台数据库备......
  • Linux入门---(三)Shell编程
    1.脚本格式:#!/bin/bash开头2.脚本执行方式采用bash或sh+脚本的相对路径或绝对路径采用输入脚本的绝对路径或相对路径执行脚本,如./hello.sh在脚本的路径前加上“.”或source(父shell)3.变量系统预定义变量:$HOME,$PWD,$SHELL,$USER等自定义变量:变量名=变量值,如my_var=hello......