本文介绍如何让truenas scale自动申请Let’s Encrypt免费证书,并自动续签。目前truenas scale的ACME DNS身份验证器只支持cloudflare和route53的域名,本文以cloudflare为例。如果你的系统是truenas core,请看这篇:https://www.nasgeek.cn/auto_get_cert.html。

一、准备工作

将域名托管到cloudflare上,域名解析到你的truenas scale管理页面,并获取cloudflare的API 密钥。

二、申请证书

1、添加ACME DNS身份验证器。

在管理界面中,打开【证书】-【证书】,在【ACME DNS身份验证器】一栏点击【添加】按钮。

证书界面

在出现的页面中,“名称”随便填写一个,“身份验证器”选择cloudflare,“cloudflare Email”填写你cloudflare的登录邮箱,“API密钥”填写cloudflare中的Global API Key,“API Token”可以不填,然后点击【保存】。

2、添加证书签名请求。

在【证书】界面中【证书签名请求】一栏中点击【添加】按钮,并按照下图填写

保存后会回到【证书】界面,点击新生成的这一条证书签名请求后面的“扳手”按钮

 

按下图填写

点击【保存】之后,就会开始申请证书了。如果出现“Please configure an email address for root user which will be used with the ACME Server”的错误提示,在【证书】-【本地用户】中为root用户添加一个邮箱就行了。完成后,可以在【证书】一栏内看到新申请的证书。

三、使用证书

打开【系统设置】-【GUI】-【设置】

在出面的页面中,“GUI SSL证书”选择刚才申请的证书。

保存后会提示重启网络服务,勾选“确认”,点击“继续”

然后刷新管理页面,看看是否变成安全访问了。如果浏览器中证书没有更新,可以在truenas scale中运行命令:

systemctl restart nginx

关闭浏览器再打开试试吧。