使用acme.sh实现服务器ssl证书自动签发续签

随着所有的厂商也免费ssl证书有效期从一年减少至3个月,技术人员不得不面对频繁签发证书的问题,以前一年搞一次现在一年搞4次,自动化变得非常有必要了。

工具介绍

acme.sh是一个实现从letsencrypt自动签发证书,自动更新续签证书的脚本。

大致了解流程之后,使用还是相对简单的。

(1)工具自己生成必要的ssl申请文件,无需干预

(2)设置好后,工具自动把文件生成到WEB目录下。(确保WEB能够HTTP访问,因为这类似于SSL证书申请步骤的 文件认证)

(3)工具等待文件认证30次循环,如果成功,自动把证书放到用户指定的位置。(也就是nginx apache等服务器引用证书的路径)

(4)自动重载一下服务器软件,新证书生效


核心操作


./acme.sh --issue -d 域名 --webroot /data/home/public_html/www  -m 邮箱地址 --force
./acme.sh --install-cert -d 域名 --key-file   /usr/tmp/文件名.pem  --fullchain-file /usr/tmp/文件名.cert


脚本化

#!/bin/bash

# 定义变量
DOMAIN="www.abc1133aa.com"
EMAIL="vv20@vip.qq.com"
WEBROOT="/home/public_html/$DOMAIN"
SSL_DIR="/home/public_html/sslfile"
KEY_FILE="$SSL_DIR/$DOMAIN.key"
CERT_FILE="$SSL_DIR/${DOMAIN}_bundle.crt"

# 检查并删除已存在的证书文件
if [ -f "$KEY_FILE" ]; then
    echo "Removing existing key file: $KEY_FILE"
    rm "$KEY_FILE"
fi

if [ -f "$CERT_FILE" ]; then
    echo "Removing existing certificate file: $CERT_FILE"
    rm "$CERT_FILE"
fi

# 申请证书
./acme.sh --issue -d "$DOMAIN" --webroot "$WEBROOT" -m "$EMAIL" --force

# 安装证书
./acme.sh --install-cert -d "$DOMAIN" --key-file "$KEY_FILE" --fullchain-file "$CERT_FILE"

echo "Certificate installation completed for $DOMAIN"


工具地址

https://github.com/acmesh-official/acme.sh

猜你喜欢

华为安卓手机访问电脑共享文件,无需安装三方APP

华为安卓手机访问电脑共享文件,无需安装三方APP

在电脑上下载了不少电影,以前想在手机看的方法是 1、USB拷贝到手机或用微信文件助手转到手机 2、搭建内网流媒体服务器,把电影放到内网服务器上,通过浏览器访问内网 一直没有买NAS,那玩意贵,以前也...

源格式转换 txt转m3u 在线工具及源码

源格式转换 txt转m3u 在线工具及源码

一般txt转m3u指的是不同播放器的源格式转换,而txt和m3u是两种流行的格式。 一般txt格式如下: 节目名称,节目URL 一般m3u格式如下: EXTINF:-1,节目名称 节目URL 有些节...

使用acme.sh实现服务器ssl证书自动签发续签

使用acme.sh实现服务器ssl证书自动签发续签

工具介绍 acme.sh是一个实现从letsencrypt 自动签发证书,自动更新续签证书的脚本。 大致了解流程之后,使用还是相对简单的。 (1)工具自己生成必要的ssl申请文件,无需干预 (2)设...

如何在python整合包使用pip安装更多依赖

如何在python整合包使用pip安装更多依赖

本次想在GPT-SoVITS-v2-240821整合包中安装一个flask,大致步骤如下 (1)在cmd下切换到 GPT-SoVITS-v2-240821目录中, (2)运行命令 "E:\GPT-S...

创意工坊mod下载方式

创意工坊mod下载方式

单机玩游戏,看上一个mod想下载试下。在创意工坊上又是注册又是订阅的,就是找不以下载按钮。 最后找到了这种类似下载器的东西,可以下载到想要的mod。 mark一下, 这个方式不错,适合玩单机的。 h...

nginx图片不存在时以200状态码返回默认图片

这个场景主要是有些图片可能删除了,会在页面是出现叉叉。 可以通过nginx的404方式,设置返回默认图片,优化用户体验。 location ~ \.(jpg|gif|jpeg|png|txt)$ { ...

让linux的history记录时间 ip 用户等

修改一下,使这个日志能记录 时间 ip 用户等。 vim /etc/profile 追加 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed...