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

2023-02-09 23:11:32 39点赞 45收藏 27评论

前言

最近又重黑群晖换到qnap了威联通(qnap)使用acme申请并部署泛域名证书 (反复横跳。。。本来想搞黑威的,结果写conf太麻烦,就暂时没动),就想着先把ssl证书也一并弄过来

其实qnap自带letsencrypt申请程序,可惜只能在非国内区域使用威联通(qnap)使用acme申请并部署泛域名证书 (控制台的申请国内貌似可以,不过需要80或443端口开放)

于是就想着还是通过acme.sh来尝试申请获取,经过一番折腾,基本实现了我的目标,这里发出和大家来交流下威联通(qnap)使用acme申请并部署泛域名证书

提前说明下,我尝试了好久,发现基本不可能像群晖那样不操作ssh来实现,所以基于qnap的是需要执行一些简单的操作的,希望各位对这一点至少有一些了解

本次还是使用acme.sh工具

如果你熟悉acme.sh,最简单的方式就是自己安装acme.sh的脚本,然后官方其实已经为qnap提供了安装方式威联通(qnap)使用acme申请并部署泛域名证书

acme官方的qnap安装使用acme官方的qnap安装使用

大概流程就是 安装 acme.sh--> 设置环境变量 --> 获取安装证书 --> 添加到定时任务自动获取

关于qnap的证书

qnap的默认证书存储位置是 /etc/stunnel/

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

其中 stunnel.pem 是证书和私钥二合一的证书,实际上就是把cert和key的数据拼接生成的

backup.cert 和 backup.key 是原始证书和私钥的备份,这三个实际都是文本文件威联通(qnap)使用acme申请并部署泛域名证书

安装docker

实际上安装acme.sh然后申请还是比较方便的

但是我不喜欢在系统中乱搞。。。(强迫症?)威联通(qnap)使用acme申请并部署泛域名证书

又加上我想尝试下能不能像群晖那样完全通过页面操作或者尽可能减少shell操作,所以还是准备用docker实现下(当然后来发现还是必须用到sshell威联通(qnap)使用acme申请并部署泛域名证书 )

实际上就是把安装在本机的acme使用docker来实现,尽量不去对系统文件进行修改

建议操作前先将系统默认的证书下载备份下

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

虽然不备份也能恢复,不过会稍微麻烦点

首先为acme单独创建共享文件夹,方便后续操作

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

然后在acme中创建名为docker的文件夹,方便存储acme的docker的数据,名字随意,与后面docker中的映射文件夹对应即可

从container中拉取acme镜像

选择 neilpang/acme.sh安装

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

下载完成后 创建docker

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

注意名称需要与后面脚本里一致,建议写一样的,避免后面出问题

命令处填写daemon 以守护方式运行

打开高级设置

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

添加对应的dns服务提供商的key和secret

如图我的是阿里的

如果是dnspond就是DP_Id 和 DP_Key,具体还有一些(未测试),可以自己去官网查找然后测试威联通(qnap)使用acme申请并部署泛域名证书

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

根据自己需求选择

网络选择host

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

挂载需要的文件夹

这里的/acme/docker就是开始创建的空文件夹,挂载到/acme.sh,注意删除上面默认添加的存储空间映射

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

使用脚本

下载脚本update_cert_docker.sh,度娘 /1JCY61qinDxGtLYHzOmb5gQ?pwd=cj4r 提取码: cj4r

内容如下

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

脚本基于之前的群晖改造的,大概流程就是调用我们刚装好的acme.sh的docker,执行获取与安装命令,把获得到的证书放在临时目录中,然后将证书文件复制拼接到qnap的证书目录,最后重启相关服务

将脚本文件update_cert_docker.sh拷贝acme文件夹

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

把执行权限勾上

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

权限添加后重新查看下,qnap的页面可能会修改权限出bug不生效,重试就行

后面就需要shell里进行操作

首先开启ssh及admin账户

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

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

Shell进入qnap服务

进入时会提示

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

q 退出

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

y 确认

使用admin登陆默认进去是/root

切换到 /share/acme(qnap所有的共享文件夹都挂载在/share 下,acme就是最开始我们创建的共享文件夹)

查看下

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

可以看到我们创建的docker文件夹及update_cert_docker.sh 脚本文件,且文件名带*,应该是可执行的标记

可以手动 ./update_cert_docker.sh 执行脚本

会在显示执行记录,同时在当前文件夹会生成update_cert_docker.log 记录文件

执行成功后会在目录下生成cert-up-docker.log日志,可查看执行情况

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

同时在docker文件夹内会有相应的acme的执行日志,可供排查

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

如果顺利的话就可以去控制台看到证书已经被替换了,这就代表脚本配置没问题

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

至于为什么状态还是默认证书我还没弄清楚威联通(qnap)使用acme申请并部署泛域名证书 。。估计某个地方需要配置。。不过不影响使用

这时候想要恢复原证书就需要之前备份的默认证书,选择取代当前证书--> 恢复默认证书即可威联通(qnap)使用acme申请并部署泛域名证书

如果出现异常就需要查看日志文件,修改对应的配置

定时更新证书

最后使用定时任务,qnap需要手动添加执行威联通(qnap)使用acme申请并部署泛域名证书 (话说为啥不像群晖一样提供一个页面的操作入口威联通(qnap)使用acme申请并部署泛域名证书 )

这里根据qnap自己的wiki https://wiki.qnap.com/wiki/Add_items_to_crontab

在大多数桌面版Linux 中会使用 crontab -e 来编辑crontab 配置,但是注意不要在威联通中使用这种方法,威联通在重启的时候会覆盖使用这种方式写入的配置。

如果想要永久的保存配置,应该使用

echo "0 1 1 * * /share/acme/update_cert_docker.sh > /share/acme/update_cert_docker.log& " >> /etc/config/crontab

或者 vim 修改vim /etc/config/crontab

自行插入 0 1 1 * * /share/acme/update_cert_docker.sh >/share/acme/update_cert_docker.log & 也行

这句话前面的0 1 1 * * 为定时参数,分别代表 分 小时 日 月 周,0 1 1 * * 表示每月1日1点

后面就是执行的脚本,注意和0 1 1 * * 中间有空格,/share/acme/update_cert_docker.sh这个我们下载上传到nas的脚本(这里是脚本的绝对位置,一般情况下放在共享文件夹只需要添加/share就行,其他位置需要自己查看),然后在脚本所在位置生成日志/share/acme/update_cert_docker.log

后面有 & (注意与前面有空格) 表示后台执行

如图

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

我为了测试修改了下定时的时间,所以定时参数不一样,可以根据需要自己修改

然后应用crontab

crontab/etc/config/crontab && /etc/init.d/crond.sh restart

成功后可以执行crontab -l

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

可以看到配置已生效

测试成功后可以关闭ssh和admin账号

总结

相对于群晖,qnap来说操作稍微复杂了点,需要一点linux的基础知识

其实我也不理解qnap的脑回路。。修改定时任务需要进shell、修改自启也要进shell、

网页反应慢(5.0稍微好点了)、某些UI暴丑、资料少、翻译烂、大部分还是英文。。。。。。。威联通(qnap)使用acme申请并部署泛域名证书

感觉影响体验的有一大堆威联通(qnap)使用acme申请并部署泛域名证书

但为什么又转回来呢,因为便宜啊威联通(qnap)使用acme申请并部署泛域名证书 ,功能也比较全,折腾下也比较有意思

我现在搞的是一个212p3,arm的低端机器,主要是跑一些照片、同步服务,主数据还是在truenas上威联通(qnap)使用acme申请并部署泛域名证书

通过filestation内网挂载

相当于买一个qnap的软件服务吧

展开 收起

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

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

2599元起

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

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

2849元起

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

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

3199元起

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

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

2179元起

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

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

2190.84元起

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

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

1936元起

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

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

4099元起

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

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

1199元起

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

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

1899元起

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

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

2699元起

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

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

2000元起

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

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

8899元起

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

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

1599元起

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

Synology 群晖 DS223j 双盘位 NAS网络存储服务器 私有云 智能相册 文件自动同步

1549元起

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

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

1699元起

QNAP 威联通 TS-264C-4G 双盘位 NAS存储(N5105、4GB)

QNAP 威联通 TS-264C-4G 双盘位 NAS存储(N5105、4GB)

1899元起
27评论

  • 精彩
  • 最新
  • 赶紧加入黑威,大概新世界的大门

    校验提示文案

    提交
    折腾了下,头都搞大了,不是intel网卡真蛋疼 [观察]

    校验提示文案

    提交
    收起所有回复
  • 网盘分享过期了0,0,求补充0.0

    校验提示文案

    提交
    我都以为没人玩qnap的。。。。我看了下,没有失效啊,还能访问,前面要加头网址

    校验提示文案

    提交
    哈哈,是我加前头网址弄错了,现在ok啦,真是没有人玩qnap,也多亏了楼主,最成功的的方式了,感谢!!

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 网盘分享过期了,请重新分享一下。

    校验提示文案

    提交
    我看了下,没失效啊,前面需要加度盘的分享的头地址的

    校验提示文案

    提交
    是的,回来找到正确的地址格式。谢谢!

    校验提示文案

    提交
    收起所有回复
  • 手动执行脚本可以看到证书更新,但是acme文件夹内没有看到log文件。另外,vim命令中&后面有空格吗(直接复制有一个空格)?

    校验提示文案

    提交
    &前有空格,后面的空格无所谓,没有log需要看下路径是不是有问题

    校验提示文案

    提交
    收起所有回复
  • 你好!我又回来问问题了。根据你的方法已经运行了一段时间,非常方便。但是我发现了另一个问题,我用了威联通的默认反向代理(设置里面),证书更新后主域名正常,但是反向代理的域名不行,必须重启系统才行。有办法解决吗?

    校验提示文案

    提交
    威联通的反向代理用的是apache,你这个情况猜测估计是反向代理的配置没有更新,暂时还不清楚具体流程如何,你可以ssh试试 /etc/init.d/reverse_proxy.sh reload,不过我倒是觉得重启也没啥不好,一般不会频繁更新。。

    校验提示文案

    提交
    收起所有回复
  • update_cert_docker.sh中domain的泛域名怎么填?是要填2个还是只需一个就可以了?

    校验提示文案

    提交
    泛域名就*.xxxx就行

    校验提示文案

    提交
    收起所有回复
  • 感谢分享,生成的证书,用命令行放入stunnel可以使用,但是用威联通证书界面替换证书的方式导入,提示“此私人密钥非法”无法导入,楼主能试一下吗?

    校验提示文案

    提交
  • 去折腾试下

    校验提示文案

    提交
  • 现在链接是不是真的失效了啊,打不开了

    校验提示文案

    提交
    是我搞错了,没失效啊

    校验提示文案

    提交
    收起所有回复
  • 可以再发个链接吗,失效了

    校验提示文案

    提交
    输错了,没失效

    校验提示文案

    提交
    有链接吗?我还是下载不了

    校验提示文案

    提交
    收起所有回复
  • csdn有个脚本 /u011470046/article/details/126924298
    导入后状态就不是默认证书了,但是我没权限下载下来,不知道他们是怎么实现的

    校验提示文案

    提交
  • 多谢分享,我这边使用后处理了一些bug:注意现在acme默认使用EC加密的证书 反正我这边的系统是完全识别不了,建议强制设定为RSA 2048位(没记错的话4096位加密也识别不了) --keylength 2048

    校验提示文案

    提交
    在环境中设置了Ali_Key和Ali_Secret,但是运行脚本的时候还是提示未获取到:
    You don't specify aliyun api key and secret yet.请问是怎么设置的?

    校验提示文案

    提交
    收起所有回复
  • 在环境中设置了Ali_Key和Ali_Secret,但是运行脚本的时候还是提示未获取到:
    You don't specify aliyun api key and secret yet.

    校验提示文案

    提交
  • 能不能讲讲letsencrypt?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

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

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
45
扫一下,分享更方便,购买更轻松