使用westssl工具实现自动更新SSL证书的流程SSL证书默认有效期分3个月和1年两种。您必须在证书到期前的30个自然日内续费并更新证书,才能延长证书的服务时长。证书续费时, 如果管理的证书较多,经常去手工更新不但麻烦而且容易遗漏或出错。因此提供了本工具来实现证书续费重新颁发后的自动更新流程。 要想实现证书的自动化续费,需要满足条件:
Westssl工具有Windows和linux两个版本. 此工具用于普通云服务器或第三方的服务器场景,可实现证书重签后对证书自动更新,同时也支持通过命令行方式调用API 环境要求:服务器上必须已经部署过ssl证书,web服务为iis/apache/nginx中的一种. 使用westssl工具需要设置ssl证书的专用api密钥,可以在"会员管理中心---账号管理---设置中心---SSL证书API密钥设置,这里设置"或者重置 . (提交工单由我司帮您设置westssl自动更新,此API密钥必须提供至工单中) linux(centos)系统下载方法 ssh远程服务器,然后执行 wget http://downinfo.myhostadmin.net/westssl/westssl.zip -O /root/westssl.zip && unzip -o /root/westssl.zip && rm -f /root/westssl.zip && chmod +x /root/westssl 输入 /root/westssl 使用 Windows服务器系统下载方法 ,远程服务器,使用浏览器下载 http://downinfo.myhostadmin.net/westssl/westssl.exe (如下载提示无法安全下载,请右键点击“将链接另存为”。) , 建议保存在 d:\cert 目录。 cmd命令行切换到 d:\cert .输入westssl.exe 使用 westssl版本号:westssl version 1.0.50 1.下载完毕后,首先进行初始化 (重要) 初始化完成会自动生成 .westssl\config.ini,请勿删除 /root/westssl init
重启重载web服务命令可以选择对应编号,也可以自己手动输入,请务必据实输入! 2.查看当前服务器证书列表 /root/westssl show 宝塔和建站助手创建的web环境,系统会识别相关证书,不需要手工添加,可以忽略本步骤。 非宝塔和建站助手创建的web环境, 需要手动添加ssl证书路径,才能实现自动更新ssl证书。 在show命令下,输入 1 表示添加一个域名证书。 3.您可以通过计划任务方式,完成自动更新证书 : 更新证书命令 /root/westssl update linux任务计划设置方式 1.宝塔环境通过面板任务计划添加每天定时更新 脚本内容: cd /root /root/westssl update 保存任务计划即可每天自动更新ssl证书 2. Linux非宝塔环境,使用命令“crontab -e”添加任务计划 30 1 * * * /root/westssl update 以上命令代表每天1点30分,执行自动更新ssl证书 Windows任务计划设置方式 任务计划程序添加定期运行此工具 在管理员身份运行cmd 执行:
schtasks /create /RU system /SC DAILY /F /TN westssl_auto_update /TR "D:\cert\westssl.exe update -c D:\cert\.westssl\config.ini" /ST 01:00 其中: westssl_auto_update 计划任务名称 "D:\cert\westssl.exe update -c D:\cert\.westssl\config.ini" 要执行的程序及参数 /ST 01:00 每天1:00执行 成功创建计划任务后即可每天1点自动更新ssl证书. 注: 1、 westssl update 在windows系统下会在 .westssl 下级目录生成westcertapp.exe执行文件,此是正常更新文件放心使用。 若此文件执行失败IIS对应站点证书会更新失败,会影响网站正常访问。 2、westssl update 这个命令会自动检测当前服务器上所有证书的到期时间,如果离到期时间小于30天,或过期30天以内的, 会自动调用SSL证书api接口,来检查相关的域名有没有新的证书颁发成功,如果有,则自动下载新证书进行替换, 替换后会执行相关的命令来重启IIS/apache/ngix以使新证书生效。 3、如果通过IIS手动导入SSL证书时,证书存储必须选择 个人, 否则 westssl无法识别 ----------------------------------------------------------------------------------------------------------------- 用westssl来批量购买证书的流程:(注:可以输入westssl.exe -h来显示帮助提示,接iisue命令表示申请新证书) D:\cert>westssl.exe issue 缺少必要参数! 申请证书 Usage: westssl issue [flags] Flags: -c, --config string Config file (default "config.ini") --dns SSL证书DNS验证方式 [file,dns 验证必须二选一] -d, --domain string [必填]申请SSL证书域名;此参数支持3种模式: 1) 单域名. 2) 多个域名,必须用逗号(,)分隔. 3) 域名批量购买,必须是域名列表文件完整路径,要购买的域名放在这个文件中一行一个. --file SSL证书文件验证方式 [file,dns 验证必须二选一] -h, --help help for issue -t, --type string [必填]常见证书类型: 1) 通用型DV: dv-350 2) 试用90天DV: free-trial 更多产品型号请访问API接口查询 https://console-docs.apipost.cn/preview/4e5d940c9be19cda/73e3028374812fc5?target_id=9d27cd1e-6bfa-4665-9a8f-e421b7707a1c D:\cert>westssl.exe issue --dns -t free-trial -d mytest123.com 或者 : D:\cert>westssl.exe issue --dns -t free-trial -d D:\cert\mydomains.txt 把要购买的域名都放在这个txt文件中批量购买。 ----------------------------------------------------------------------------------------------------------------- 用westssl来批量下载购买的证书 D:\cert>westssl.exe online 在线SSL证书下载 Usage: westssl online [flags] Flags: -c, --config string Config file (default "config.ini") --domain string 下载域名对应证书: 1、多个域名必须用逗号(,)分隔. 2、all 表示下载所有证书. 3、证书批量下载列表文件完整路径,要下载的证书域名放在这个文件中一行一个. -h, --help help for online --show 查看在线证书列表 D:\cert>westssl.exe online --domain mytest123.com 或者 : D:\cert>westssl.exe online --domain D:\cert\mydomains.txt 把要下载的证书域名都放在这个txt文件中批量下载。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 常见问题 : api result: token 时间超时:请检查服务器时间是否为背景时间 .
|