系统环境
操作系统:CentOS 7.9
Docker version:26.1.4
docker-compose version:1.29.1
nginx:使用docker部署
部署ALLinSSL
使用docker-compose方式进行部署,需提前创建名为app_network
的docker桥接网络。
docker-compose.yaml配置文件如下:
version: "3"
services:
allinssl:
image: allinssl/allinssl:latest
container_name: allinssl
restart: always
volumes:
- ./data:/www/allinssl/data
ports:
- "6103:8888"
environment:
- ALLINSSL_USER=allinssl
- ALLINSSL_PWD=自定义登录密码
- ALLINSSL_URL=allinssl
- TZ=Asia/Shanghai
networks:
- app_network
networks:
app_network:
external: true
配置说明:
ALLINSSL_USER:登录用户名
ALLINSSL_PWD:登录密码
ALLINSSL_URL:安全入口,首次使用需要url增加该路径,如原访问地址为localhost:6103,则首次访问地址为localhost:6103/allinssl
配置自动化
授权API
阿里云/腾讯云
直接将对应云平台中生成的AK/SK进行复制配置即可。
注意:
阿里云权限建议: 为了安全,建议创建一个拥有所需最小权限(例如 DNS 管理 AliyunDNSFullAccess
,CDN 管理 AliyunCDNFullAccess
,WAF 管理相关权限等)的 RAM 用户,并使用其 AK/SK。
腾讯云权限建议: 同阿里云,建议创建拥有最小所需权限(例如 DNSPod 管理 QcloudDNSPodFullAccess
,CDN 管理 QcloudCDNFullAccess
,WAF 管理相关权限等)的 CAM 子用户,并使用其凭证。
SSH
配置后续用于部署证书文件的服务器SSH连接账号密码,如果使用本地部署可以不进行该项配置。
注意:
该账号有直接操作证书(如创建文件不需要sudo)的权限。
该账号可以有直接操作docker的权限(如果不是docker部署nginx,是本地部署的nginx则需要有直接nginx -s reload权限,非nginx类推)。
自动化部署
1.使用自动化部署模版
2.修改自动化名称,示例:ymblog.site自动化部署
3.开始,设置自动执行周期,示例:每天1点(我使用时创建时每次打开都会重新随机,需要创建后通过修改生效)
4.申请证书,按需进行配置即可
5.部署,因为我的环境是docker部署的nginx,就直接使用了直接SSH部署(也可以通过在docker-compose.yaml中增加证书目录和docker服务映射后使用本地部署)。
注意点:
证书文件及私钥文件路径要写带文件名的全路径。
前置命令,是在连接上SSH之后,部署证书前所执行的命令,可根据实际需求所选(备份旧证书或其他操作)。
后置命令,是连接上SSH,部署证书完成后所执行的命令,可根据实际需求所选(重载服务等)。
重复部署,配置相同时跳过,此时前置命令和后置命令也不会再执行。
6.通知,执行成功与失败分别配置不同的通知(需要先在设置/告警通知中配置邮件通知)。
通知配置示例:
通知主题:✅ SSL证书自动化部署完成 / ❌ SSL证书自动化部署失败
通知内容:ymblog.site域名SSL证书自动化部署完成,请知晓。 / ymblog.site域名SSL证书自动化部署失败,请前往控制台查看。
跳过发送通知:成功-跳过(避免自动化操作跳过时发送无效邮件),失败-发送