NAS实用手册 篇三:威联通Docker部署acme并申请泛域名证书
前言
为什么会想到acme来申请证书?
之前用的阿里云的SSL证书,之前一年维护一次就行了,现在阿里云的SSL证书也变成3个月失效了,维护起来挺费劲的。
另外之前部署了思源笔记(威联通Docker部署思源笔记),但是在使用S3(威联通使用S3同步思源笔记)同步的时候,提示:certificate signed by unknown authority
威联通可以设置定时任务,定时去更新证书,省得手动更新了。
关于威联通的教程很少,每次查找资料的时候比较费劲。
参考了大佬的文章(威联通(qnap)使用acme申请并部署泛域名证书),写的很好很详细,但由于我的威联通版本不一样,容器的版本也不一致,所以还是踩了一些坑。
所以,我用自己的方式重新整理了一下,防止自己忘记了。
准备
我的威联通固件版本是:QTS 5.1.3.2578 ,Container Station容器的版本是V3.0.5.622。
需要提前准备好:
威联通admin的账号;
允许ssh连接;
一条域名,对应的DNS服务商提供的Key和Secret;
Docker中安装acme.sh
在FileStation5中新建文件夹,命名为acme,并将游客访问权限设为:无限制。
按照惯例我是在Container创建的下面的acme,对应的路径就是:/share/Container/acme
在ContainerStation中提取镜像文件,输入:neilpang/acme.sh:latest
创建容器
名称:请记住这里输入的acme.sh
选择高级设置:
命令:daemon --keylength 2048
命令网络:选择Host
网络环境:这里添加对应的DNS供应商Key和Secret,我的是阿里云,所以添加Ali_Key和Ali_Secret,注意大小写。
查找自己的供应商填入的内容请查看:dnsapi
环境存储:选择刚刚创建的文件夹acme的路径,容器要输入/acme.sh注意要和刚创建容器的名称一致,否则脚本会找不到容器
存储运行脚本
下载:update_cert_docker.sh脚本文件。
base64解密一下:
aHR0cHM6Ly9wYW4uYmFpZHUuY29tL3MvMUpDWTYxcWluRHhHdExZSHpPbWI1Z1E/cHdkPWNqNHI=
上传到刚创建的acme文件夹中。
运行脚本:
打开terminal,输入:ssh admin@IP,注意需要admin账号
进入到acme文件夹中:cd /share/Container/acme
运行update_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证书和私钥,点击恢复为默认值,即可。
最后
关闭ssh
禁用admin账户
参考
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
digie
校验提示文案
bbki288
校验提示文案
chewy
校验提示文案
水手shuishou
校验提示文案
皇家小疯猪
校验提示文案
chewy
校验提示文案
皇家小疯猪
校验提示文案
bbki288
校验提示文案
水手shuishou
校验提示文案
digie
校验提示文案