AllinSSL 插件教程:CDNFly V6 证书自动部署(含 Docker / Linux 存放与使用)
AllinSSL × CDNFly V6 插件使用教程
本文说明 cdnfly-v6 插件:把 AllinSSL 申请到的证书自动上传到 CDNFly V6,并按网站名批量切换 HTTPS 证书。
重点写清两件事:
- 宝塔 Docker(DK) 安装时,插件放哪、怎么用
- 原生 Linux 安装时,插件放哪、怎么用
插件下载
cdnfly-v6 安装包(Linux amd64)网盘地址:
下载后解压,得到可执行文件 cdnfly-v6(或压缩包内的同名二进制),再按下文放到 plugins/cdnfly-v6/ 目录并 chmod +x。
一、插件能做什么
一次部署大致是这样:
- 用你填写的主控地址 + API Key / Secret 连接 CDNFly
- 上传证书一次(名称带时间戳,避免重名)
- 按你填写的网站名称(可多个,英文逗号分隔)查找站点
- 只改 HTTPS 监听里的证书字段,保留原有协议、套件、端口等,降低切证失败概率
适合已经在 CDNFly V6 里建好网站、只想在证书续期后自动换证的场景。
二、安装方式不同,插件目录也不同
AllinSSL 有两种常见装法,插件目录完全不一样。
很多人进了容器找不到 plugins,或在宿主机改了目录容器里却看不到,就是因为没分清这两种路径。
1. 宝塔 Docker(DK)安装
典型容器名类似:ssl-SSL-1。
| 位置 | 路径 |
|---|---|
| 容器内(程序真正读取) | /www/allinssl/plugins/ |
| 宿主机挂载(宝塔 DK 应用目录,便于上传) | /www/dk_project/dk_app/allinssl/SSL/plugins/ |
要点:
- 把插件放到宿主机挂载目录,容器内才能看见。
- 只
docker cp进容器、没有挂载的话,容器重建后会丢。 - 建议目录与二进制同名。
路径示例:
# 宿主机
/www/dk_project/dk_app/allinssl/SSL/plugins/cdnfly-v6/cdnfly-v6
# 容器内对应
/www/allinssl/plugins/cdnfly-v6/cdnfly-v6
二进制需要是 Linux amd64,并赋予可执行权限:
chmod +x /www/dk_project/dk_app/allinssl/SSL/plugins/cdnfly-v6/cdnfly-v6
若宿主机 plugins 还没挂进容器,请在 Docker 应用里把:
- 宿主机:
SSL/plugins - 映射到容器:
/www/allinssl/plugins
然后重启容器。
进容器检查:
docker exec -it -w /www/allinssl ssl-SSL-1 sh
ls -la /www/allinssl/plugins/cdnfly-v6/
补充:Docker 容器里怎么唤起 AllinSSL 管理命令
容器一般是 Alpine,没有 bash。官方 allinssl.sh 写的是 #!/bin/bash,直接执行 ./allinssl.sh 常会报 no such file or directory。
请直接调二进制,并带上编号:
cd /www/allinssl
./allinssl 15 # 查看面板地址
./allinssl 3 # 重启服务
./allinssl 10 # 重启 web
./allinssl 13 # 重启后台调度
注意:无参数执行 ./allinssl 会静默退出,这是正常现象。
2. 原生 Linux 安装(非 Docker)
程序通常在 /www/allinssl/(以你实际安装目录为准)。
| 位置 | 路径 |
|---|---|
| 插件目录 | /www/allinssl/plugins/ |
放置示例:
/www/allinssl/plugins/cdnfly-v6/cdnfly-v6
chmod +x /www/allinssl/plugins/cdnfly-v6/cdnfly-v6
# 可用官方脚本菜单,或直接:
cd /www/allinssl && ./allinssl 3
原生 Linux 一般有 bash,./allinssl.sh 可用;Docker 里仍优先用 ./allinssl <编号>。
3. 两种方式对照
| 项目 | 宝塔 Docker(DK) | 原生 Linux |
|---|---|---|
| 插件实际目录 | 容器内 /www/allinssl/plugins |
/www/allinssl/plugins |
| 方便上传的位置 | 宿主机 .../dk_app/allinssl/SSL/plugins(需挂载) |
直接改服务器上的 plugins |
| 管理命令 | ./allinssl <编号>(容器无 bash) |
allinssl.sh 或 ./allinssl <编号> |
| 换插件后 | 通常刷新面板即可;异常时重启调度/服务 | 同上 |
三、插件文件怎么放(通用规范)
- 从网盘 https://pan.ithxs.com/p/ithxs 下载并解压,得到 Linux amd64 二进制
cdnfly-v6 - 新建目录
plugins/cdnfly-v6/ - 把二进制放进去,文件名与目录名一致,并执行
chmod +x - 回到 AllinSSL 面板,工作流部署节点里应能选到 cdnfly-v6
目录结构示例:
plugins/
└── cdnfly-v6/
├── cdnfly-v6 # 可执行文件
└── cdnfly.log # 跑过之后自动生成的会话日志
若列表没有:检查架构是否 amd64、是否可执行、路径是否在程序读取的
plugins下(Docker 还要确认挂载)。
四、在工作流里怎么配
1. 授权 / 连接配置
| 字段 | 说明 |
|---|---|
base_url | CDNFly 主控地址,如 https://cdn.example.com |
api_key | API Key |
api_secret | API Secret |
在 CDNFly 控制台创建 API 后填入即可。
2. 部署动作参数(deploy)
| 字段 | 必填 | 说明 |
|---|---|---|
sites |
是 | 网站名称(与 CDNFly 列表一致),多个用英文逗号分隔,如 *.ithxs.com,storage.ithxs.com |
cert_name |
否 | 上传到 CDNFly 的证书名;不填则按站点名 + 时间戳自动生成 |
https_port |
否 | 强制 HTTPS 端口;一般留空,沿用各站现有端口 |
cert / key 由 AllinSSL 工作流在申请成功后自动注入,无需手填。
3. 重要:填完参数后要切到「自定义」再提交
这是 AllinSSL 主程序的问题,不是插件本身:
- 默认模式有时会把
params存成对象 - 主程序调用插件前要求
params是字符串 - 结果面板报:插件参数错误:params,插件进程都进不去
正确操作: 在部署节点把参数模式切到 「自定义」,确认参数以合法形式保存后再提交。
切好之后,工作流日志里应能看到「调用插件 cdnfly-v6:deploy」,而不是卡在 params 校验。
五、执行与结果怎么看
1. 面板工作流日志
成功时大致会有:
使用插件部署...调用插件cdnfly-v6:deploy插件响应 ...(主程序会 dump 返回的 status / message / result)部署成功
「插件响应」那一行的前缀格式由 AllinSSL 主程序固定,插件只能尽量把 message 写清楚。
2. 插件自己的详细日志(推荐看这个)
文件在插件同目录:
# Docker 宿主机
/www/dk_project/dk_app/allinssl/SSL/plugins/cdnfly-v6/cdnfly.log
# 容器内 / 原生 Linux
/www/allinssl/plugins/cdnfly-v6/cdnfly.log
里面是分步会话日志:校验参数 → 上传证书 → 拉网站列表 → 逐站切证 → 汇总。
排错优先看这个文件。
六、常见问题
Q:Docker 里 ./allinssl.sh 没反应 / 报找不到文件?
A:容器没有 bash。用 ./allinssl 15 这类带编号的命令。
Q:宿主机放了插件,面板里没有?
A:确认 SSL/plugins 已挂载到容器 /www/allinssl/plugins;二进制为 Linux amd64 且可执行。
Q:报「插件参数错误:params」?
A:部署节点改用「自定义」模式保存参数后再跑。
Q:切证时报 https_listen / 端口无效?
A:旧逻辑可能整段覆盖监听配置。当前 cdnfly-v6 会合并原 https_listen,只改证书;请用最新二进制。
Q:网站找不到?
A:sites 填的是 CDNFly 里的网站名称,与面板列表一致;多个用英文逗号。
Q:证书名冲突?
A:默认已加时间戳后缀;也可自己填 cert_name。
七、最短操作清单
- 从网盘下载插件:https://pan.ithxs.com/p/ithxs
- 确认自己是 Docker 还是 原生 Linux,放到对应的
plugins/cdnfly-v6/ chmod +x二进制- 面板工作流选 cdnfly-v6 → 填主控与 API → 填
sites - 参数模式切 自定义 → 保存
- 跑一遍工作流 → 看面板是否部署成功 → 细看
cdnfly.log - 到 CDNFly 核对网站 HTTPS 证书是否已换成新上传的那张
按上面做完,续期流水线就可以自动把新证推到 CDNFly V6 多个站点。
阅读 -- 次
