上次跟大家分享了bitwarden的部署,但是bitwarden是必须有小锁,也就是https才能使用的。所以今天跟大家分享一下怎么在群晖nas上开通https。其实也是我自己看到了新的开https的方法,自己的也升级一下。
阿里云获得AccessKey
登陆阿里云,在右上角选择AccessKey管理。好像我太久没用了,提示我要继续用AccessKey还是开通子账户AccessKey,开个子账户用用看吧。命名并勾选OpenAPI调用访问。就能得到AccessKey与AccessKey Secret。
手动,结合docker开https
首先跟大家介绍一下怎么手动,结合docker开。为什么用这么原始的方法?因为这个方法不用ssh。难度最低。虽然相对繁琐一点,但是简单。
安装镜像
使用的是docker镜像acme.sh。首先新建一个acme文件夹。然后无论你在电脑上新建一个account.conf,然后上传到acme文件夹内,还是通过群晖组件“文本编辑器”新建一个account.conf,另存在acme文件夹内,都可以,内容如下
然后在docker中搜索镜像:acme.sh,下载neilpang的acme.sh的最新版。
启动映像,选择与host相同网络。高级设置中执行命令用daemon
存储空间设置中,设置刚刚新建的acme文件夹映射/acme.sh,运行容器。
注册账号并获取证书
然后在容器中选择新建的这个容器,详情-终端机。新增右边那个小箭头点一下,通过命令启动
acme.sh –register-account -m myemail@example.com –server zerossl
等到出现注册成功的提示后(我是已经注册过的提示),再来一次,通过命令启动
acme.sh –issue –force -d ‘aaa.com’ –dns dns_ali –server zerossl
接下来等待时间会有点长,我这里大概是15分钟,完成后如下图。
然后去文件夹里把这些文件里面的aaa.com.key,fullchain.cer和ca.cer下载下来。
安装证书
在控制面板-安全-证书中,新增证书,如图所示设置。
点击设置,将其他的相关服务全改成新的证书
到期后怎么办?
由于是纯手动工作,到期后也还是手动,从获取证书开始重来一次,不用重新注册。
优势与劣势
这个方法的优势就是……简单,一步一步来肯定没问题,基本也没牵扯到代码类的内容,可以说是新手友好型。缺点么也很明显,纯手动。
运用计划任务自动完成
嫌麻烦怎么办呢?用计划任务来自动完成。
网上看的教程试了试,但是最后几步不成功,怎么办?我试了试,小修改了一下,已经可以了。
在整个过程中,与手动版有以下不同
accout.conf文件内容增加
不知道是不是我设置问题,如值友那样在docker的环境里设置群晖相关信息无法成功。在log中会提示SYNO_username和SYNO_password必须设置,行吧,那我就设置在了accout.conf中。account.conf变成如下
自动脚本变化
在运行中,发现原自动脚本申请证书没问题,部署证书有问题,修改了原自动脚本如下:
#!/bin/bash
# 域名
DOMAIN=’aaa.ccc’
# # DNS类型,dns_ali dns_dp dns_gd dns_aws dns_linode根据域名服务商而定,我使用阿里
DNS=’dns_ali’
# DNS API 生效等待时间 值(单位:秒),一般120即可
# 某些域名服务商的API生效时间较大,需要将这个值加大(比如900)
DNS_SLEEP=120
# 证书服务商,zerossl 和 letsencrypt,我使用zerossl
CERT_SERVER=’zerossl’
generateCrtCommand=”acme.sh –force –log –issue –server ${CERT_SERVER} –dns ${DNS} –dnssleep ${DNS_SLEEP} -d “${DOMAIN}” -d “*.${DOMAIN}””
installCrtCommand=”acme.sh –deploy –domain ${DOMAIN} –domain “*.${DOMAIN}” –deploy-hook synology_dsm”
docker exec acme $generateCrtCommand
docker exec acme $installCrtCommand
具体做法为在电脑上新建文本文档,内容如上,其中DOMAIN设置成你自己的域名,不需要*.。然后存储为cert-docker.sh(或者其他名字),然后上传到nas中,我放在了volumns2/Script 文件夹里。
设置计划任务
在控制面板-任务计划中新建任务,设置用户账号为root,一个月运行一次,任务设置为
bash /volume2/Script/cert-docker.sh>>/volume2/Script/cert-log.txt 2>&1
设置完成后运行一次任务。
设置证书
无论是手动还是自动,我的做法都保留了原有的默认证书,因此要在设置中设置一下证书的使用范围。在控制面板-安全-证书中点设置。
全部设置成新申请的证书,大功告成。
总结
感谢各位值友们的努力,我也可以节省点时间,不用三个月一次更新证书啦。
#NAS#
举报/反馈
原文链接:https://baijiahao.baidu.com/s?id=1752413260288664836&wfr=spider&for=pc