安装包yum-yinstallftpexpect阿里云账号配置登录阿里云账号后,点击:访问控制->用户->新用户登录名:ds(可自己改)DisplayName:ds(可以自己改)访问方式:Programmaticaccess添加权限:AliyunDNSFullAccess获取新用户的AccessKeyID和AccessKeySecret准备颁发证书的域名,比如abc.com,表示拟签发的通配符证书适用于域名abc.com和*.abc.com;注意:每一行只能有一个域名!cat>/data/tools/dns</etc/profile.d/lego_env.sh<>/data/tools/cou_cert.sh</data/tools/add_new.sh</dev/null&&echocertificatealreadyexists&&exitcat>>dns<>/data/tools/auto_copy.sh<"{send"!ftp192.168.16.812358\r";exp_continue}"名称(192.168.16.8:root):"{send"UserName\r";exp_continue}"Password:"{send"UserPwd\r"}}expect"ftp>"{send"send$fp$dn.crtx.$dn.pem\rsend$fp$dn.keyx.$dn.key\rquit\rquit\r&quo吨;}expecteofENDdone>/etc/crontabsystemctlstartcrond&systemctlenablecrond&systemctlstatuscrond目标服务器需要使用FileZillaServer搭建FTP服务器,配置证书、用户名、密码、用户目录(作为证书的专用目录)及相应的权限;根据自己的情况,可以直接配置证书路径或者加一层同步操作,定时重启web服务,保证最新的证书生效。FileZillaServer的配置请参考另一篇文章《用FileZilla搭建FTP服务器及相关问题》当证书签名服务和Nginx代理服务在同一台服务器上#!/bin/bashcat>/data/tools/rec_cert.sh<${tmp_log}shopt-sexpand_aliasessource/etc/profile.d/lego_env.shfp="/data/app/lego/.lego/certificates/"ngc="/etc/nginx/certs/"#readdnpassdodnfile=$fp$dn.crtif[!-f"$dnfile"];then#生成证书legorun$dn>>${tmp_log}else#更新证书legorenew$dn>>${tmp_log}fi[!-f"/etc/nginx/certs/x.$dn.key"]&&echo>${ngc}x.$dn.key[!-f"/etc/nginx/certs/x.$dn.pem"]&&echo>${ngc}x.$dn.pemcp-f$fp$dn.crt${ngc}x.$dn.pemcp-f$fp$dn.key${ngc}x.$dn.keydone/dev/null&&scp${ngc}x.ids.abc.com.*root@192.168.16.8:${ngc}>>nul#通过邮件向指定服务器发送新证书catrenew_result|grep-e".*wx\.abc\.com"|grep-v“:不更新\。”>/dev/null&&/data/tools/send-mail.sh#删除临时日志rm-f${tmp_log}EOF证书格式转换cat>pem_to_pfx_no_ca.sh<>/etc/mail.rc<>/data/tools/send_mail.sh<