# certs_deploy **Repository Path**: jxgame/certs_deploy ## Basic Information - **Project Name**: certs_deploy - **Description**: ssl 证书,申请、续签、部署全自动。 - **Primary Language**: Python - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: https://cm.jincheng163.com - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-08 - **Last Updated**: 2024-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: certs, ssl ## README # certs_deploy 证书自动部署工具 #### 介绍 > 声明:本工具仅适用于 [证书管家 :fa-external-link: ](https://cm.jincheng163.com) 所申请的证书的本地或 CDN 部署。 工具需要定时运行,为了获得更快的网速,建议每天 23 点至次日 5 点之间运行 1 次。将会检测本地证书的过期时间,自动向 [证书管家 :fa-external-link: ](https://cm.jincheng163.com) 查询新证书,如果新证书续签完成,将会下载新的证书。并完成后续的本地或 CDN 部署工作。 #### 软件架构 软件开发语言为 Python3. #### 安装教程 ``` git clone https://gitee.com/jxgame/certs_deploy.git cd certs_deploy pip3 install -r requirements.txt ``` ##### 测试运行(初始化) ``` python3 do.py ``` > 首次运行会生成 conf.ini 及 sites.json #### 使用说明 1. 编辑工具的配置文件 conf.ini ``` [main] appName=取个名字 #自定义一个名字,如,上海服务器01 sendMail=ON #取值是ON,OFF 运行部署后是否发送部署日志邮箱,需要配置正确的email设置 taskTime=03:00 #定时任务的运行时间 [aliyun] AccessKeyId= AccessKeySecret= [tencent] SecretId= SecretKey= [email] MAIL_RECEIVER= MAIL_RECEIVER_LEVEL=ALL #每次检查都发送,填ALL,其它值或为空,只有在有成功部署时才发送。 MAIL_HOST= MAIL_PORT= MAIL_USER= MAIL_PASS= MAIL_SENDER= ``` 2. 编辑部署配置文件 sites.json 这是一个 JSON 的数组,记录了要本地或 CDN 部署证书的相关资料。 ``` [ { "Section": "tencent", #CDN部署的服务商 "Sn": "XXXXXXXXXXX", #证书管家给予的每个域名唯一的SN "EndTime": "", #留空即可,证书部署后会更新这个时间 "Path": "", #留空表示部署全部符合这个SN所属证书的域名,也可以指定部署域名 如 a.domain.com 多个用半角逗号(,)隔开 "ReloadCommand": "" #留空 }, { "Section": "aliyun", "Sn": "", "EndTime": "", "Path": "", "ReloadCommand": "" }, { "Section": "local",#本地部署 "Sn": "", "EndTime": "", "Path": "",#工具会向这个绝对地址复制文件(site.key,site.crt), 如 /www/a.domain.com/ssl/ 多个用半角逗号(,)隔开 "ReloadCommand": "systemctl reload nginx.service" #部署完成后,重载服务器上Nginx或Apache的命令,根据实际需要填写。 } ] ``` > 更换证书不生效?需要重启 nginx 如 relaod 或 restart #### 联系反馈 ### 使用中遇到问题? 如果您在使用中遇到问题,欢迎联系我。 > 您可以对本工具进行修改,如果方便的话,请告诉我改进的代码,以便我加到仓库中方便他人。