未添加证书时,访问会提示不安全
ACME(自动证书管理环境)是一个互联网工程任务组维护的协议,它允许自动化 Web 服务器证书的部署,可以通过其实现 SSL证书的自动申请、续期等。
免费SSL证书3个月都要重新申请一次,然后再更换,实际体验着实不是很美好,还好我发现有开源的一键更新的懒人脚本【syno-acme】,本质是(acmesh-official/acme.sh ),但是这个懒人一键脚本省去部署的麻烦,只需下载文件修改配置参数即可,操作更简单方便了。
免费的SSL需要定期重新申请

准备工作

  • 黑群晖环境:已安装并正常运行的 DSM 系统;
  • 域名解析:确保域名已正确解析到黑群晖的公网 IP 地址;
  • 管理员权限:需要 DSM 管理员账号操作;
    -ID和密钥:脚本需要获取对应DNS服务商后台的操作权限。
    下载脚本
    项目开源地址:https://github.com/andyzhshg/syno-acme
    通过Tags下载打包好的版本: Tags选择 v0.3.0_dsm7_beta
    在这里插入图片描述
    将下载的脚本工具上传到NAS的任意目录下,并解压。
    解压后包含内容

配置脚本参数

编辑脚本的配置文件config

  • 主要修改图中红色框内容
    • 域名(不包含www https的部分,如baidu.com)
    • DNS类型(阿里云(dns_ali),Dnspod(dns_dp),Godaddy(dns_gd)等)
    • ID和密钥,不同DNS类型只需要修改对应部分即可(一般在控制台查看或创建即可,我使用阿里云,使用 RAM 用户 AccessKey,配置为SSL管理权限)
      修改配置文件
      在这里插入图片描述
      配置文件中为包含你的DNS类型,可以参照来添加自己的配置。
      https://github.com/acmesh-official/acme.sh/tree/master/dnsapi
      阿里云,目前可使用 RAM 用户 AccessKey
      阿里云目前建议使用Arm用户来创建Key,也是可行的
      SSL证书管理服务

NAS创建定时任务(周期更新SSL)

  • 复制脚本cert-up.sh文件的绝对路径
  • 在 File Station 中找到解压后的v0.3.0_dsm7_beta文件夹下的cert-up.sh文件,右键属性;
  • 复制完整的绝对路径到剪贴板。
    在这里插入图片描述
    在这里插入图片描述

群晖NAS新增计划任务

  • 控制面板 –> 任务计划 –> 新增 –> 计划的任务 –> 用户自定义的脚本;
  • 设置任务名称和操作用户,需要注意的是这里一定要选择root;
  • 设置计划的时间和周期,最好小于3月更新一次(免费SSL证书有效期,目前只有3个月)。
    新建定时任务
    定时执行,小于3月即可
    DSM7支持多种重复时间,可以选择1或者3月一次

root用户任务,输入密码保存
设置执行脚本
关键:cert-up.sh路径+update
我们可以将脚本的输出重定向到了一个log.txt的文件中,以方便后期查看脚本的执行情况:
脚本命令为(注意没有换行):

/volume1/nas_share/certs/syno-acme/cert-up.sh update >> /volume1/nas_share/certs/syno-acme/log.txt 2>&1

具体的路径是cert-up.sh的路径(之前复制的那个绝对路径)。
不需要输出执行结果到文件,可只执行“update”即可。

/volume1/nas_share/certs/syno-acme/cert-up.sh update >> /volume1/nas_share/certs/syno-acme/log.txt 2>&1

测试脚本是否正常:
选择刚刚创建的自动更新ssl任务,右键运行即可。
测试运行一次脚本
这样脚本就会运行,自动更新证书,并重启web服务器加载新的脚本。以后,NAS会每隔一个月执行一次该脚本,自动更新证书。
查看重定向log内容,是否有错误测试结果正常更新证书重新访问NAS也正常,无不安全提示

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐