随着所有的厂商也免费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
本文《使用acme.sh实现服务器ssl证书自动签发续签》由爱思考吧 isres.com 分享,转载请注明出处。本文网址:https://www.isres.com/peizhi/acmesh.html
本站主要收集测评能够节省时间和提升效率的软件工具并分享使用与学习的过程和感受,任何情况下用户都需遵守所使用软件资源的相关协议。与《使用acme.sh实现服务器ssl证书自动签发续签》有关的本站文章及资源仅供个人学习交流使用,相关资源请下载后24小时内删除,请勿用于其它用途,因此产生的任何问题由您自行承担。