• 游啊游
  • 信仰
  • 原点
  • 清明
  • 凡人
  • 雨一直下-古筝
  • 你的样子
  • 沧海飞尘
  • Sofía
  • Suddenly
  • Traveling Light
  • 城南花已开
Oo笑容太甜oO/

[飞牛] lucky定时获取证书,并自动替换fnos证书


来源:https://zhuanlan.zhihu.com/p/1914312979106756527

逛飞牛官方论坛发现有篇文章《lucky定时获取证书,并自动替换fnos证书》使用 Lucky 结合到期更新 SSL 证书。

一、创建证书存储文件夹

打开 【文件管理】 界面。
选择您的目标存储磁盘(例如:存储空间1)。
创建新文件夹:
/vol2/1000/docker/lucky-cert

二、配置 Lucky 访问飞牛文件夹

1.打开 系统设置 ,选择 应用, 点击 Lucky 应用。
2.打开 Lucky 应用设置后,选择 文件夹 添加授权目录后点击 确定 按钮保存。目录选择上面新建的/vol2/1000/docker/lucky-cert

三、使用lucky自动获取证书

1.证书备注:飞牛的域名,如fnos.xxxxxxxxx.cn
2.添加方式ACME,证书颁发机构Let's Encrypt
3.验证方式 域名商 如腾讯云,添加SecretId、SecretKey
4.域名/IP列表:fnos.xxxxxxxxx.cn
5.邮箱填自己邮箱,算法默认RSA2048,证书配置 普通域名证书
6.更多设置默认
7.证书映射启用,证书映射路径填刚才创建的文件夹:/vol2/1000/docker/lucky-cert,
8.证书变化后触发脚本

sudo sh /vol2/1000/docker/lucky-cert/sh/update_cert_lucky.sh > /vol2/1000/docker/lucky-cert/sh/out.log 2>&1

然后等配置好再点确认。

四、导入证书到飞牛,并获取路径(用于以后自动替换)

1.打开飞牛 系统设置, 选择 安全性 -> 证书,点击 新增证书 导入飞牛中。
2.SSH连上飞牛,查看 证书存储位置:cat /usr/trim/etc/network_cert_all.conf
3.例如我的:

"certificate":"/usr/trim/var/trim_connect/ssls/fnos.xxxxxxxxx.cn/1768014209/fnos.xxxxxxxxx.cn.crt",
"fullchain":"/usr/trim/var/trim_connect/ssls/fnos.xxxxxxxxx.cn/1768014209/fullchain.crt",
"privateKey":"/usr/trim/var/trim_connect/ssls/fnos.xxxxxxxxx.cn/1768014209/fnos.xxxxxxxxx.cn.key",

五、配置脚本

1.新建一个目录用来放定时更新脚本。如:/vol2/1000/docker/lucky-cert/sh
2.新建一个目录用来放原来证书备份。如:/vol2/1000/docker/lucky-cert/old
3.去github下载脚本并上传到脚本目录,只需要上传 src 下面的 update_cert_lucky.sh 与 update_cert_lucky.yaml 文件。
4.把脚本放到/vol2/1000/docker/lucky-cert/sh,由于直接下载的,里面内容不对(都是html代码),在飞牛里打开脚本和配置文件,复制github上代码进去
5.修改 update_cert_lucky.yaml 配置文件内容。

# 飞牛OS证书名称 / 域名 / 注意自己上传之后是否是泛域名,泛域名为*.abc.cn,普通域名则为abc.cn
fnos_cert_name: "fnos.xxxxxxxxx.cn"  

#lucky生成的证书名称,可以先生成一次看看
lucky_cert_name: "fnos.xxxxxxxxx.cn"  

# 新证书文件所在路径
cert_path: "/vol2/1000/docker/lucky-cert"

# 旧证书备份目录路径
backup_dir: "/vol2/1000/docker/lucky-cert/old"

# 飞牛OS证书位置  上传证书之后使用此命令找:  cat /usr/trim/etc/network_cert_all.conf
old_crt: "/usr/trim/var/trim_connect/ssls/fnos.xxxxxxxxx.cn/1768014209/fnos.xxxxxxxxx.cn.crt"
old_key: "/usr/trim/var/trim_connect/ssls/fnos.xxxxxxxxx.cn/1768014209/fnos.xxxxxxxxx.cn.key"

# 旧的中间证书,lucky生成的默认没有中间证书,可以置空不填
old_fullchain: "/usr/trim/var/trim_connect/ssls/fnos.xxxxxxxxx.cn/1768014209/fullchain.crt"

[飞牛] lucky定时获取证书,并自动替换fnos证书
图中此处以 http://fnos.nas.com 域名为例:
红框处都替换为 http://fnos.nas.com。你需要根据自己的自定义域名进行替换,这里仅仅是以这个域名为例。
蓝框处替换为第一步 4 获取 Certs 目录的绝对路径: /vol2/1000/docker/lucky-cert/, 需要你根据自己的目录进行替换。

六、给 Lucky 增加权限,可以自动执行代码

1.在终端执行以下命令:
visudo
2.把下面代码(注意后半部分绝对路径要和你的脚本文件位置一致)粘贴到截图位置:

sudo sh /vol2/1000/docker/lucky-cert/sh/update_cert_lucky.sh > /vol2/1000/docker/lucky-cert/sh/out.log 2>&1

3.保存并退出

最后,配置 Lucky 证书映射可以点确认/修改了

到此飞牛部署的 SSL 证书到期就可以自动进行更新,不需要手动进行维护。

暂无评论