quanshiyinian 发表于 2024-3-18 18:53:16

使用westssl工具实现自动更新SSL证书的流程

SSL证书默认有效期默认为1年,部分免费证书的默认有效期为3个月。您必须在证书到期前的30个自然日内续费并更新证书,才能延长证书的服务时长。证书续费时,
会颁发一个新的证书,您收到新证书后需要手工更新到服务器上。部分证书支持一次性购买多年,但仍然是每次签发一年的证书,到期前30天左右会自动重新签发。如果管理的证书较多,经常去手工更新不但麻烦而且容易遗漏或出错。因此西部数码提供了本工具来实现证书续费重新颁发后的自动更新流程。
要想实现证书的自动化续费,需要满足条件:
[*]自动化DNS验证 (SSL证书和域名在相同的西部数码会员帐号下,如果是腾讯、阿里的域名,支持在我司控制面板中设置apikey的方式来完成验证,
如果域名在第三方平台,建议转入我司统一管理,否则需要在重签证书时再次验证)

[*]证书重新签发后能自动更新证书。(如果证书是用于西部数码的虚拟主机/高防服务器/亚数云服务器,在完成证书续费重新颁发后,
系统会自动更新证书不需要任何操作。证书用于西部数码普通云服务器或第三方的服务器场景时,可通过本工具和任务计划实现自动更新ssl证书 ,
使用此工具您的证书需在我司申请或者托管证书在我司.)
[*]能满足以上条件的场景,在购买时选中“自动续费”功能,就能一劳永逸。需要确保会员余额足够。

Westssl工具有Windows和linux两个版本. 此工具用于西部数码普通云服务器或第三方的服务器场景,可实现证书重签后对证书自动更新,同时也支持通过命令行方式调用API
批量购买新证书(见文尾帮助)。环境要求:服务器上必须已经部署过ssl证书,web服务为iis/apache/nginx中的一种.
(证书的首次部署不属于本文介绍的范围,一般来说windows主机可通过我司提供的网站管理助手部署,Linux主机一般通过宝塔面板部署)

使用westssl工具需要设置ssl证书的专用api密钥,可以在"会员管理中心---账号管理---设置中心---SSL证书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 表示添加一个域名证书。v3.您可以通过计划任务方式,完成自动更新证书 : 更新证书命令/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以使新证书生效。-----------------------------------------------------------------------------------------------------------------用westssl来批量购买证书的流程:(注:可以输入westssl.exe -h来显示帮助提示,接iisue命令表示申请新证书)D:\cert>westssl.exe issue    缺少必要参数!
申请证书
Usage:
westssl issue
Flags:-c, --config string   Config file (default "config.ini")      --dns             SSL证书DNS验证方式 -d, --domain string   [必填]申请SSL证书域名;此参数支持3种模式:                        1) 单域名.                        2) 多个域名,必须用逗号(,)分隔.                        3) 域名批量购买,必须是域名列表文件完整路径,要购买的域名放在这个文件中一行一个.      --file            SSL证书文件验证方式 -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:-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文件中批量下载。

D:\cert>westssl.exe online --show可查看在线的证书列表

页: [1]
查看完整版本: 使用westssl工具实现自动更新SSL证书的流程