NAS实用手册 篇三:威联通Docker部署acme并申请泛域名证书

2023-12-21 13:25:08 7点赞 93收藏 11评论

前言

为什么会想到acme来申请证书?

  1. 之前用的阿里云的SSL证书,之前一年维护一次就行了,现在阿里云的SSL证书也变成3个月失效了,维护起来挺费劲的。

  2. 另外之前部署了思源笔记(威联通Docker部署思源笔记),但是在使用S3(威联通使用S3同步思源笔记)同步的时候,提示:certificate signed by unknown authority

  3. 威联通可以设置定时任务,定时去更新证书,省得手动更新了。

关于威联通的教程很少,每次查找资料的时候比较费劲。

参考了大佬的文章(威联通(qnap)使用acme申请并部署泛域名证书),写的很好很详细,但由于我的威联通版本不一样,容器的版本也不一致,所以还是踩了一些坑。

所以,我用自己的方式重新整理了一下,防止自己忘记了。

准备

我的威联通固件版本是:QTS 5.1.3.2578 ,Container Station容器的版本是V3.0.5.622。

需要提前准备好:

  1. 威联通admin的账号;

  2. 允许ssh连接;

  3. 一条域名,对应的DNS服务商提供的Key和Secret;

Docker中安装acme.sh

  1. 在FileStation5中新建文件夹,命名为acme,并将游客访问权限设为:无限制。

    按照惯例我是在Container创建的下面的acme,对应的路径就是:/share/Container/acme

新建acme文件夹新建acme文件夹权限权限
  1. 在ContainerStation中提取镜像文件,输入:neilpang/acme.sh:latest

提取镜像提取镜像
  1. 创建容器

    名称:请记住这里输入的acme.sh

acme.shacme.sh

选择高级设置

命令:daemon --keylength 2048

命令命令

网络:选择Host

网络网络

环境:这里添加对应的DNS供应商Key和Secret,我的是阿里云,所以添加Ali_Key和Ali_Secret,注意大小写。

查找自己的供应商填入的内容请查看:dnsapi

环境环境

存储:选择刚刚创建的文件夹acme的路径,容器要输入/acme.sh注意要和刚创建容器的名称一致,否则脚本会找不到容器

存储存储

运行脚本

  1. 下载:update_cert_docker.sh脚本文件。

    base64解密一下:

    aHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMUpDWTYxcWluRHhHdExZSHpPbWI1Z1E/cHdkPWNqNHI=

  2. 上传到刚创建的acme文件夹中。

  3. 运行脚本:

    • 打开terminal,输入:ssh admin@IP,注意需要admin账号

    • 进入到acme文件夹中:cd /share/Container/acme

    • 运行update_cert_docker.sh脚本

      如果运行过程下图所示,一般是成功了。

update_cert_docker.shupdate_cert_docker.sh

此时查看威联通的证书(控制台-->安全-->SSL证书和私钥)就会发现证书已经导入了。

查看证书查看证书

定时更新证书

确实群晖可以通过界面自行配置定时任务,威联通还需要一些Linux知识。

主要还是参考威联通wiki

执行:vi /etc/config/crontab

插入:0 0 17 * * /share/Container/acme/update_cert_docker.sh >/share/Container/acme/update_cert_docker.log &

最后重启 crontab 生效:crontab /etc/config/crontab && /etc/init.d/crond.sh restart

查看配置是否生效,执行:crontab -l

查看配置是否生效查看配置是否生效

遇到的问题

无法进入管理页面

一开始以为是因为没有关闭威联通的防火墙QuFireWall,导致网络发生了变化,才进不去管理页面的。所以尝试重启威联通,并不断地刷新页面,企图在QuFireWall启动之前冲进去,关闭QuFireWall,显然失败了。

实际上是因为没有填入正确的Key和Secret,然后运行了脚本,结果创建了一个空的SSL证书,并且成功导入进去了。

并且由于我设置了强制https,所以访问http://[IP]:[Port]也无法登录web页面。

幸运的是,我之前打开了允许ssh连接,所以我还可以ssh。

在terminal中输入:more /etc/config/uLinux.conf,查看当前的配置,发现:Force SSL = 1

于是修改配置文件:vim /etc/config/uLinux.conf,改成:Force SSL = 0

重启web server:/etc/init.d/thttpd.sh restart

这个时候访问http://[IP]:[Port]就可以进入管理页面了,但是你会发现通过https://[IP]:[Port]的形式还是无法进入管理页面。因为刚刚导入了一个空的SSL证书,我们只要找到控制台-->安全-->SSL证书和私钥,点击恢复为默认值,即可。

最后

  1. 关闭ssh

  2. 禁用admin账户

参考

  1. 威联通(qnap)使用acme申请并部署泛域名证书

  2. dnsapi

  3. 威联通wiki

  4. acme.sh

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2499元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2289.89元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3079.01元起

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

Synology 群晖 DS920+ 4盘位 NAS存储(J4125、4GB)

2190.84元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C 4盘位NAS(赛扬N5095、8GB)

1999元起

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

Synology 群晖 DS423+ 4盘位 NAS网络存储 (Intel四核 、无内置硬盘)

3484.15元起

QNAP 威联通 TS-464C2 4盘位NAS(赛扬N5095、8GB)

QNAP 威联通 TS-464C2 4盘位NAS(赛扬N5095、8GB)

2499元起

QNAP 威联通 TS-462C 4盘位NAS(赛扬N4505、4GB)

QNAP 威联通 TS-462C 4盘位NAS(赛扬N4505、4GB)

1669元起

QNAP 威联通 TS-216 双盘位NAS (ARM Cortex A55、2GB)

QNAP 威联通 TS-216 双盘位NAS (ARM Cortex A55、2GB)

1069元起

QNAP 威联通 TS-564 五盘位NAS (N5105、8GB)

QNAP 威联通 TS-564 五盘位NAS (N5105、8GB)

1899元起

QNAP 威联通 TS-873A 8盘NAS(V1500B、8GB)

QNAP 威联通 TS-873A 8盘NAS(V1500B、8GB)

7120元起

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

Synology 群晖 DS1821+ 8盘位NAS (V1500B、4GB)

8899元起

Synology 群晖 DS923+ 4盘位 万兆扩展 NAS网络存储服务器 私有云 企业团队云盘 标配(不含硬盘)

Synology 群晖 DS923+ 4盘位 万兆扩展 NAS网络存储服务器 私有云 企业团队云盘 标配(不含硬盘)

4207元起

QNAP 威联通 TS-264C 宇宙魔方 8G内存2盘位四核心处理器网络存储服务器内置双 M.2 插槽NAS私有云

QNAP 威联通 TS-264C 宇宙魔方 8G内存2盘位四核心处理器网络存储服务器内置双 M.2 插槽NAS私有云

1799元起

QNAP 威联通 TS-416 四盘位NAS(Cortex-A55、4GB)

QNAP 威联通 TS-416 四盘位NAS(Cortex-A55、4GB)

1469元起
11评论

  • 精彩
  • 最新
  • 你好!能共享一下你的update_cert_docker.sh脚本吗?

    校验提示文案

    提交
    文中有脚本的下载链接🔗百度搜 base64解密,复制进去解密就可以了

    校验提示文案

    提交
    收起所有回复
  • 请问我用脚本更新的证书状态是:系统默认安全证书在使用,我看你的证书状态是:导入的证书在使用,是有哪里不一样吗

    校验提示文案

    提交
    [惊喜] 说明没有成功,再试一次

    校验提示文案

    提交
    收起所有回复
  • 请问一下 这个内网用能成功的点在哪儿啊? 我之前只用acme.sh脚本在内网跑,dns方式,结果 无法获取证书,看到阿里的域名dns解析是有动作的,但是不晓得为啥证书申请的验证过不掉,如果你的能成功 应该就不是80被封的原因了 奇怪

    校验提示文案

    提交
    需要把端口转发出去才能访问

    校验提示文案

    提交
    看了那个脚本,原因找到了 是那个dns_delay!!

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 非常感谢,按照这个方法成功了!

    校验提示文案

    提交
  • 很不错,配置cloudflare的DNS验证成功了,不知道能否出一个plex自动续约的教程

    校验提示文案

    提交
    已经搞定了,直接合并现在生成的证书就可以了

    openssl pkcs12 -export -out /etc/stunnel/plexServer.pfx -certpbe AES-256-CBC -keypbe AES-256-CBC -macalg SHA256 -inkey /etc/stunnel/backup.key -in /etc/stunnel/backup.cert -password pass:此处密码

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
天猫超级红包
距结束::
每天领现金,最高24888元
红包按钮
最新文章 热门文章
93
扫一下,分享更方便,购买更轻松