摘要:在TrueNAS Scale上使用acme.sh自动部署Let's Encrypt证书
关键词:TrueNAS Scale,SSL,Web Security
参考:Let’s encrypt Certificate with AMCE Shell Script (amce.sh) on TrueNAS SCALE – SYSADMIN102™
自阿里云停止签发一年期的单域名SSL证书后,自动部署SSL证书便成为了我在公网上使用TrueNAS的痛点之一。前两天证书到期,瞬间所有服务全部瘫痪,近日有空才得以将其修复。
参考由SYSADMIN102大佬的文章,结合我的亲身实践,得出本文。
- 在WebUI>网络>全局配置中更改hostname和domain
将自己的hostname和domain更改为你要申请的域名的地址。此步可做可不做,不做在下文中你需要将deploy_config中的hostname更改为你的域名。 - 在TrueNAS SCALE中部署acme.sh
按照acme.sh的安装文档部署acme.sh。
curl https://get.acme.sh | sh -s email=xxxxxx@xxxxx.xxx
下载后,按照文档导入你的DNS验证方式,并申请一次证书。
acme.sh默认的ZeroSSL存在签发证书时timeout的问题,可以将默认CA更改为Let's Encrypt即可解决。
以我使用的阿里云为例:
export Ali_Key="Your API Key"
export Ali_Secret="Your API Secret"
acme.sh --set-default-ca --server letsencrypt --issue --dns dns_ali -d yourdomain.com
- acme.sh将使用DNS验证域名所有权,并签发证书。
- 生成API Key并使用deploy-freenas项目部署证书。
在WebUI中,点击右上角电源选项左边的用户,点击API秘钥,生成一个API秘钥。
注意:此API秘钥只会生成一次,请妥善保管
git clone https://github.com/danb35/deploy-freenas
转到~/deploy-freenas,打开deploy_config.example。将其中的APIKey设为自己的APIKey,使用#注释掉下面的超级管理员密码。
若你未在第一步中更改自己的hostname与domain,请将下方的hostname设置为自己的域名。
若你更改了默认WebUI端口,请将下方的端口更改为HTTP的WebUI端口。
使用acme.sh部署证书。
acme.sh --install-cert -d yourdomain.com --reloadcmd "~/deploy-freenas/deploy_freenas.py"
- 设置定时更新
前往系统设置>高级>定时任务设置定时更新证书。
acme.sh --cron
- 在需要的地方使用自动签名的证书。
2 条评论
《东方2013》剧情片高清在线免费观看:https://www.jgz518.com/xingkong/2147.html
《吾家才女初长成》国产剧高清在线免费观看:https://www.jgz518.com/xingkong/153173.html