收起左侧

飞牛fnos使用acme.sh自动部署并自动更新ssl证书【脚本更新】

8
回复
1702
查看
[ 复制链接 ]

1

主题

16

回帖

0

牛值

江湖小虾

2025-11-18 16:33:26 显示全部楼层 阅读模式

2025/11/18

更新了 # 修改了一些逻辑和写法

2025/07/27

更新了 # 获取证书详细时间戳并创建目录 时间戳获取方式及修正时差

2025/07/18

更新了 # 更新飞牛OS NGINX 配置文件 部分的逻辑及替换方式

为飞牛OS部署ssl证书,第一步当然需要自己的域名,我使用的是腾讯云的dns服务,因此脚本也是在dnspod的基础上制作。域名的注册及API秘钥的获取网上资料比较多,这里略过。证书服务商我使用的是letsencrypt,因为相比zerossl省了注册这一步。

脚本实现全自动部署,无需在飞牛OS界面先新增域名,所有操作将在脚本里完成,因此也适用于全新的飞牛OS系统。

旧脚本原链接:https://club.fnnas.com/forum.php?mod=viewthread&tid=31884

#!/bin/bash
 
# 转载内容时需注明出处 https://blog.csdn.net/jummewu 蜈蚣出品
 
# 获取脚本开始运行时间戳
TT=$(date +%s%3N)
 
# 下载并安装 acme.sh
#mkdir -p /opt/acme && cd /opt/acme && git clone https://gitee.com/neilpang/acme.sh.git && cd acme.sh && ./acme.sh --install -m my@server.com
 
# acme.sh 脚本路径
ACME_DIR="/opt/acme/acme.sh"
 
# SSL证书域名
export DOMAIN="mydomain.com"
 
# DNS类型,dns_ali dns_dp dns_gd dns_aws dns_cf 等,具体支持列表详见 https://github.com/acmesh-official/acme.sh/wiki/dnsapi
export DNS="dns_dp"
 
# 腾讯云dnspod的API秘钥,其他DNS请自行修改变量名及替换脚本
export DP_Id="123456"
export DP_Key="abcdefghijklmnopqrstuvwxyz123456"
 
# DNS API 生效等待时间 值(单位:秒),一般120即可
# 某些域名服务商的API生效时间较大,需要将这个值加大(比如900)
DNS_SLEEP="120"
 
# 证书服务商,zerossl 和 letsencrypt,我使用letsencrypt,使用zerossl还需要注册
CERT_SERVER="letsencrypt"
 
# zerossl注册邮箱及EAB,访问 https://app.zerossl.com/developer 获取账号 EAB_kid & EAB_hmac_key
#export Email= 
#export EAB_kid= 
#export EAB_hmac_key= 
 
# 飞牛OS SSL证书路径
SSLS_DIR="/usr/trim/var/trim_connect/ssls"
 
# 飞牛OS重启服务命令行
ReloadCMD="systemctl restart webdav.service smbftpd.service trim_nginx.service"
 
# 制作证书
case ${CERT_SERVER} in
	letsencrypt)
		${ACME_DIR}/acme.sh --force --log --issue --server ${CERT_SERVER} --dns ${DNS} --dnssleep ${DNS_SLEEP} -d "${DOMAIN}" -d "*.${DOMAIN}" && echo -e "证书制作成功" || { echo -e  "制作证书失败,脚本退出. . ."; exit 1; }
		;;
	zerossl)
		${ACME_DIR}/acme.sh --register-account -m ${Email} --server ${CERT_SERVER} --eab-kid ${EAB_kid} --eab-hmac-key ${EAB_hmac_key} --issue --dns ${DNS} --dnssleep ${DNS_SLEEP} -d "${DOMAIN}" -d "*.${DOMAIN}" && echo -e "证书制作成功" || { echo -e  "制作证书失败,脚本退出. . ."; exit 1; }
		;;
	*)
		echo -e "证书服务商未知或填写错误"
		exit 1
		;;
esac
 
# 获取证书详细时间戳并创建目录
CertCreateTime="$(${ACME_DIR}/acme.sh --info -d "${DOMAIN}" | grep CertCreateTimeStr= | awk -F= '{print $2}' | sed 's|T| |g' | sed 's|Z||g')"
NextRenewTime="$(${ACME_DIR}/acme.sh --info -d "${DOMAIN}" | grep Le_NextRenewTimeStr= | awk -F= '{print $2}' | sed 's|T| |g' | sed 's|Z||g')"
CERT_CREATE=$(date -d "${CertCreateTime} 7 hour" +%s)
CERT_CREATE_TT=$(date -d "${CertCreateTime} 7 hour" +%s%3N)
CERT_RENEW=$(date -d "${NextRenewTime} 1 month 7 hour" +%s)
CERT_RENEW_TT=$(date -d "${NextRenewTime} 1 month 7 hour" +%s%3N)
mkdir -p ${SSLS_DIR}/"${DOMAIN}"/${CERT_CREATE}
DOMAIN_SSL_DIR=${SSLS_DIR}/"${DOMAIN}"/${CERT_CREATE}
 
# 安装证书到域名证书目录,acme.sh部署API暂未支持飞牛,详见 https://github.com/acmesh-official/acme.sh/wiki/deployhooks
${ACME_DIR}/acme.sh --install-cert -d "${DOMAIN}" --cert-file ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt --key-file ${DOMAIN_SSL_DIR}/"${DOMAIN}".key --fullchain-file ${DOMAIN_SSL_DIR}/fullchain.crt --ca-file ${DOMAIN_SSL_DIR}/issuer_certificate.crt --reloadcmd "${ReloadCMD}" && echo -e "证书安装成功" || { echo -e  "制作安装失败,脚本退出. . ."; exit 1; }
 
# 配置证书文件权限
chmod 755 ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt
chmod 755 ${DOMAIN_SSL_DIR}/"${DOMAIN}".key
chmod 755 ${DOMAIN_SSL_DIR}/fullchain.crt
chmod 755 ${DOMAIN_SSL_DIR}/issuer_certificate.crt
 
# 获取证书颁发者信息
CERT_ISSUED_BY=$(openssl x509 -in ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt -noout -issuer | awk -F' = ' '{print $4}')
 
# 获取证书加密类型信息
SIG_ALGO=$(openssl x509 -in ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt -noout -text | awk '/Signature Algorithm/ {print $3}' | awk 'END {print}')
shopt -s nocasematch
case $SIG_ALGO in
	*RSA*)
		ALGO_TYPE="RSA"
		;;
	*ECDSA*)
		ALGO_TYPE="ECDSA"
		;;
	*ECC*)
		ALGO_TYPE="ECC"
		;;
	*SM2*)
		ALGO_TYPE="SM2"
		;;
	*)
		ALGO_TYPE="UNKNOW"
		;;
esac
 
# 新增或更新飞牛OS证书数据库信息
if [ ! -z $(psql -t -A -U postgres -d trim_connect -c "SELECT domain FROM cert WHERE domain = '"${DOMAIN}"';" | sed  '/^\s*$/d') ] ; then
	# 飞牛OS更新数据库证书信息
	psql -U postgres -d trim_connect -c "UPDATE cert SET valid_from = ${CERT_CREATE_TT}, valid_to = ${CERT_RENEW_TT}, encrypt_type = '${ALGO_TYPE}', issued_by = '${CERT_ISSUED_BY}', last_renew_time =  ${TT}, des = '由acme.sh自动生成的证书', private_key = '${DOMAIN_SSL_DIR}/"${DOMAIN}".key', certificate = '${DOMAIN_SSL_DIR}/"${DOMAIN}".crt', issuer_certificate = '${DOMAIN_SSL_DIR}/issuer_certificate.crt', status = 'suc', created_time =  ${TT}, updated_time =  ${TT} WHERE domain = '"${DOMAIN}"';" &>/dev/null && echo -e "证书信息更新成功" || { echo -e  "证书信息更新失败,脚本退出. . ."; exit 1; }
else
	# 飞牛OS插入数据库证书信息
	DOMAIN_ID=$[$(psql -t -A -U postgres -d trim_connect -c "SELECT id FROM cert ORDER BY id ASC;" | awk 'END {print}')+1]
	psql -U postgres -d trim_connect -c "INSERT INTO cert VALUES ("${DOMAIN_ID}", '"${DOMAIN}"', '*."${DOMAIN}","${DOMAIN}"', ${CERT_CREATE_TT}, ${CERT_RENEW_TT}, '${ALGO_TYPE}', '${CERT_ISSUED_BY}', ${TT}, '由acme.sh自动生成的证书', 0, null, 'upload', null, '${DOMAIN_SSL_DIR}/"${DOMAIN}".key', '${DOMAIN_SSL_DIR}/"${DOMAIN}".crt', '${DOMAIN_SSL_DIR}/issuer_certificate.crt', 'suc', ${TT}, ${TT});" &>/dev/null && echo -e "证书信息插入成功" || { echo -e  "证书信息插入失败,脚本退出. . ."; exit 1; }
fi
 
# 更新飞牛OS NGINX 配置文件
\cp -rfL /usr/trim/etc/network_gateway_cert.conf /usr/trim/etc/network_gateway_cert.conf.${TT}.bak
NETWORK_GATEWAY_CERT="{\"host\":\""${DOMAIN}"\",\"cert\":\"${DOMAIN_SSL_DIR}/fullchain.crt\",\"key\":\"${DOMAIN_SSL_DIR}/"${DOMAIN}".key\"},"
grep -qE ""${DOMAIN}"" /usr/trim/etc/network_gateway_cert.conf
if [ $? -eq 0 ] ; then
	sed -i "s|{\"host\":.*\/usr\/.*"${DOMAIN}".*},|${NETWORK_GATEWAY_CERT}|g" /usr/trim/etc/network_gateway_cert.conf
else
	awk '{gsub(/^./,""); print}' /usr/trim/etc/network_gateway_cert.conf > /tmp/fn
	sed -i "1i[${NETWORK_GATEWAY_CERT}" /tmp/fn
	sed -i ':a;N;$!ba;s/\n//g' /tmp/fn
	\cp -rfL /tmp/fn /usr/trim/etc/network_gateway_cert.conf
	rm -rf /tmp/fn
fi
grep -qE "${DOMAIN_SSL_DIR}" /usr/trim/etc/network_gateway_cert.conf && echo -e "更新nginx配置成功" || { echo -e "更新nginx配置失败,脚本退出. . ."; exit 1; }
 
# 飞牛OS删除无效证书
find ${SSLS_DIR}/"${DOMAIN}"/ -mtime +90 -type d -exec rm -rf {} \; &>/dev/null
find /usr/trim/etc/ -mtime +90 -name "network_gateway_cert.conf.*.bak" -exec rm -rf {} \; &>/dev/null
 
${ReloadCMD}
 
# 飞牛OS写入变量配置,方便其他有需要的调用,可自行发挥想象
echo -e "DOMAIN=${DOMAIN}" > ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "CERT_CREATE_TT=${CERT_CREATE_TT}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "CERT_RENEW_TT=${CERT_RENEW_TT}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "ALGO_TYPE=${ALGO_TYPE}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "CERT_ISSUED_BY=${CERT_ISSUED_BY}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "TT=${TT}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "DOMAIN_SSL_DIR=${DOMAIN_SSL_DIR}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
收藏
送赞 3
分享

12

主题

59

回帖

0

牛值

fnOS系统内测组

飞牛百度网盘玩家fnOS1.0上线纪念勋章社区上线纪念勋章

2025-11-18 17:12:56 显示全部楼层

0

主题

1

回帖

0

牛值

江湖小虾

2025-11-21 13:55:26 显示全部楼层

域名修改是修改mydomain.com那里吗?我试了几次 ,报错 找不到问题
545ebe5842cc9352e5cf14f47da89f04.png

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
跟你一样  详情 回复
2025-11-21 23:35

0

主题

15

回帖

0

牛值

江湖小虾

2025-11-21 16:13:09 显示全部楼层
# DNS类型:阿里云DNS(固定为dns_ali)
export DNS="dns_ali"

# 阿里云AccessKey配置(已填入你的信息)
export Ali_Key="XXXXXX"
export Ali_Secret="XXXXX"

# DNS API 生效等待时间(阿里云120秒足够)
DNS_SLEEP="120"

很好很强大,以上为使用阿里云需要修改的,留给后面的小伙伴用

1

主题

4

回帖

0

牛值

江湖小虾

2025-11-21 21:55:01 显示全部楼层

image.png

证书申请成功了,证书信息插入失败,是啥情况,有大佬知道不?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

1

主题

7

回帖

0

牛值

江湖小虾

2025-11-21 23:35:16 显示全部楼层
Andy_UTtmv 发表于 2025-11-21 13:55
域名修改是修改mydomain.com那里吗?我试了几次 ,报错 找不到问题

跟你一样

1

主题

2

回帖

0

牛值

江湖小虾

2025-12-9 06:15:27 显示全部楼层

谢谢LZ的脚本,建议增加证书算法的变量参数,或者默认就ECC

0

主题

4

回帖

0

牛值

江湖小虾

2025-12-12 18:13:46 显示全部楼层
大神,你好,有个问题想向你请教一下,我是通过docker版的lucky来获取证书的,并将证书文件夹映射出来了,具体的映射地址是:/vol1/1000/dockerconfig/lucky_ssl,并且随lucky自动更新,所以不需要通过acme来获取证书。我之前手动导入过证书,然后我找到了证书的保存地址,是/usr/trim/var/trim_connect/ssls/mydomain.com/1747302598,备注:ssls文件夹后面生成了一个以我的网址为名的文件夹,这里我用【mydomain.com】代替了,然后在网址文件夹后面,又生成了一个纯数字的文件夹,即你看到的这个,所有的证书都保存在这里面。我是代码的门外汉,我的想法是将这个自动更新的证书,再次通过运行脚本的方式,加载到飞牛系统里面,那么,我参考你的脚本,让ai生成了一个脚本,想麻烦你方便的话给予一下参谋指正,看是否正确。以下是代码内容:

0

主题

4

回帖

0

牛值

江湖小虾

2025-12-12 18:14:41 显示全部楼层
大神,你好,有个问题想向你请教一下,我是通过docker版的lucky来获取证书的,并将证书文件夹映射出来了,具体的映射地址是:/vol1/1000/dockerconfig/lucky_ssl,并且随lucky自动更新,所以不需要通过acme来获取证书。我之前手动导入过证书,然后我找到了证书的保存地址,是/usr/trim/var/trim_connect/ssls/mydomain.com/1747302598,备注:ssls文件夹后面生成了一个以我的网址为名的文件夹,这里我用【mydomain.com】代替了,然后在网址文件夹后面,又生成了一个纯数字的文件夹,即你看到的这个,所有的证书都保存在这里面。我是代码的门外汉,我的想法是将这个自动更新的证书,再次通过运行脚本的方式,加载到飞牛系统里面,那么,我参考你的脚本,让ai生成了一个脚本,想麻烦你方便的话给予一下参谋指正,看是否正确。以下是代码内容:



#!/bin/bash

# 飞牛OS SSL证书路径
SSLS_DIR="/usr/trim/var/trim_connect/ssls"
# 您的证书源路径
SOURCE_SSL_DIR="/vol1/1000/dockerconfig/lucky_ssl"
# 飞牛OS重启服务命令行
ReloadCMD="systemctl restart webdav.service smbftpd.service trim_nginx.service"

# 获取当前时间戳
TT=$(date +%s)

# 检查源证书文件是否存在
if [ ! -f "${SOURCE_SSL_DIR}/fullchain.crt" ] || [ ! -f "${SOURCE_SSL_DIR}/privkey.key" ]; then
    echo -e "错误:证书文件不存在于 ${SOURCE_SSL_DIR}"
    exit 1
fi

# 设置域名(根据您的实际情况修改)
DOMAIN="mydomain.com"

# 获取证书详细时间戳并创建目录
CertCreateTime=$(date -r "${SOURCE_SSL_DIR}/fullchain.crt" "+%Y-%m-%d %H:%M:%S")
CERT_CREATE=$(date -r "${SOURCE_SSL_DIR}/fullchain.crt" +%s)
CERT_CREATE_TT=$(date -r "${SOURCE_SSL_DIR}/fullchain.crt" +%s%3N)

# 计算证书过期时间(假设证书有效期为90天)
CERT_RENEW=$(date -d "+90 days" +%s)
CERT_RENEW_TT=$(date -d "+90 days" +%s%3N)

# 创建目标目录
mkdir -p ${SSLS_DIR}/"${DOMAIN}"/${CERT_CREATE}
DOMAIN_SSL_DIR=${SSLS_DIR}/"${DOMAIN}"/${CERT_CREATE}

# 复制证书文件到飞牛OS证书目录
echo -e "正在复制证书文件..."
cp "${SOURCE_SSL_DIR}/fullchain.crt" ${DOMAIN_SSL_DIR}/fullchain.crt
cp "${SOURCE_SSL_DIR}/privkey.key" ${DOMAIN_SSL_DIR}/"${DOMAIN}".key

# 如果需要,从fullchain.crt中提取证书和CA证书
if [ -f "${SOURCE_SSL_DIR}/fullchain.crt" ]; then
    # 提取终端证书(第一个证书)
    awk '/BEGIN CERTIFICATE/{p=1} p; /END CERTIFICATE/{p=0; exit}' "${SOURCE_SSL_DIR}/fullchain.crt" > ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt
   
    # 提取CA证书(第二个证书)
    awk '/BEGIN CERTIFICATE/{i++} i==2{print}; /END CERTIFICATE/{if(i==2) exit}' "${SOURCE_SSL_DIR}/fullchain.crt" > ${DOMAIN_SSL_DIR}/issuer_certificate.crt
fi

# 配置证书文件权限
chmod 755 ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt
chmod 755 ${DOMAIN_SSL_DIR}/"${DOMAIN}".key
chmod 755 ${DOMAIN_SSL_DIR}/fullchain.crt
chmod 755 ${DOMAIN_SSL_DIR}/issuer_certificate.crt

echo -e "证书文件复制完成"

# 获取证书颁发者信息
if [ -f ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt ]; then
    CERT_ISSUED_BY=$(openssl x509 -in ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt -noout -issuer | awk -F' = ' '{print $4}')
else
    CERT_ISSUED_BY="Unknown"
fi

# 获取证书加密类型信息
if [ -f ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt ]; then
    SIG_ALGO=$(openssl x509 -in ${DOMAIN_SSL_DIR}/"${DOMAIN}".crt -noout -text | awk '/Signature Algorithm/ {print $3}' | awk 'END {print}')
else
    SIG_ALGO="Unknown"
fi

shopt -s nocasematch
case $SIG_ALGO in
    *RSA*)
        ALGO_TYPE="RSA"
        ;;
    *ECDSA*)
        ALGO_TYPE="ECDSA"
        ;;
    *ECC*)
        ALGO_TYPE="ECC"
        ;;
    *SM2*)
        ALGO_TYPE="SM2"
        ;;
    *)
        ALGO_TYPE="UNKNOW"
        ;;
esac

# 新增或更新飞牛OS证书数据库信息
if [ ! -z $(psql -t -A -U postgres -d trim_connect -c "SELECT domain FROM cert WHERE domain = '"${DOMAIN}"';" 2>/dev/null | sed '/^\s*$/d') ] ; then
    # 飞牛OS更新数据库证书信息
    psql -U postgres -d trim_connect -c "UPDATE cert SET valid_from = ${CERT_CREATE_TT}, valid_to = ${CERT_RENEW_TT}, encrypt_type = '${ALGO_TYPE}', issued_by = '${CERT_ISSUED_BY}', last_renew_time = ${TT}, des = '由lucky自动生成,脚本部署的证书', private_key = '${DOMAIN_SSL_DIR}/${DOMAIN}.key', certificate = '${DOMAIN_SSL_DIR}/${DOMAIN}.crt', issuer_certificate = '${DOMAIN_SSL_DIR}/issuer_certificate.crt', status = 'suc', created_time = ${TT}, updated_time = ${TT} WHERE domain = '"${DOMAIN}"';" 2>/dev/null && echo -e "证书信息更新成功" || { echo -e "证书信息更新失败,脚本退出. . ."; exit 1; }
else
    # 飞牛OS插入数据库证书信息
    DOMAIN_ID=$[$(psql -t -A -U postgres -d trim_connect -c "SELECT id FROM cert ORDER BY id ASC;" 2>/dev/null | awk 'END {print}')+1]
    psql -U postgres -d trim_connect -c "INSERT INTO cert VALUES (${DOMAIN_ID}, '"${DOMAIN}"', '*."${DOMAIN}","${DOMAIN}"', ${CERT_CREATE_TT}, ${CERT_RENEW_TT}, '${ALGO_TYPE}', '${CERT_ISSUED_BY}', ${TT}, '由lucky自动生成,脚本部署的证书', 0, null, 'upload', null, '${DOMAIN_SSL_DIR}/${DOMAIN}.key', '${DOMAIN_SSL_DIR}/${DOMAIN}.crt', '${DOMAIN_SSL_DIR}/issuer_certificate.crt', 'suc', ${TT}, ${TT});" 2>/dev/null && echo -e "证书信息插入成功" || { echo -e "证书信息插入失败,脚本退出. . ."; exit 1; }
fi

# 更新飞牛OS NGINX 配置文件
if [ -f /usr/trim/etc/network_gateway_cert.conf ]; then
    \cp -rfL /usr/trim/etc/network_gateway_cert.conf /usr/trim/etc/network_gateway_cert.conf.${TT}.bak
    NETWORK_GATEWAY_CERT="{\"host\":\""${DOMAIN}"\",\"cert\":\"${DOMAIN_SSL_DIR}/fullchain.crt\",\"key\":\"${DOMAIN_SSL_DIR}/"${DOMAIN}".key\"},"
   
    grep -qE ""${DOMAIN}"" /usr/trim/etc/network_gateway_cert.conf
    if [ $? -eq 0 ] ; then
        sed -i "s|{\"host\":.*\/usr\/.*"${DOMAIN}".*},|${NETWORK_GATEWAY_CERT}|g" /usr/trim/etc/network_gateway_cert.conf
    else
        awk '{gsub(/^./,""); print}' /usr/trim/etc/network_gateway_cert.conf > /tmp/fn
        sed -i "1i[${NETWORK_GATEWAY_CERT}" /tmp/fn
        sed -i ':a;N;$!ba;s/\n//g' /tmp/fn
        \cp -rfL /tmp/fn /usr/trim/etc/network_gateway_cert.conf
        rm -rf /tmp/fn
    fi
   
    grep -qE "${DOMAIN_SSL_DIR}" /usr/trim/etc/network_gateway_cert.conf && echo -e "更新nginx配置成功" || { echo -e "更新nginx配置失败,脚本退出. . ."; exit 1; }
else
    echo -e "警告:network_gateway_cert.conf 文件不存在,跳过NGINX配置更新"
fi

# 飞牛OS删除无效证书(保留最近3个月的证书)
find ${SSLS_DIR}/"${DOMAIN}"/ -mtime +90 -type d -exec rm -rf {} \; &>/dev/null
find /usr/trim/etc/ -mtime +90 -name "network_gateway_cert.conf.*.bak" -exec rm -rf {} \; &>/dev/null

# 重启服务
echo -e "正在重启服务..."
${ReloadCMD} && echo -e "服务重启成功" || { echo -e "服务重启失败"; exit 1; }

# 飞牛OS写入变量配置,方便其他有需要的调用
mkdir -p ${SSLS_DIR}/"${DOMAIN}"/
echo -e "DOMAIN=${DOMAIN}" > ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "CERT_CREATE_TT=${CERT_CREATE_TT}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "CERT_RENEW_TT=${CERT_RENEW_TT}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "ALGO_TYPE=${ALGO_TYPE}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "CERT_ISSUED_BY=${CERT_ISSUED_BY}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "TT=${TT}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf
echo -e "DOMAIN_SSL_DIR=${DOMAIN_SSL_DIR}" >> ${SSLS_DIR}/"${DOMAIN}"/sslpath.conf

echo -e "证书部署完成!"

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则