【HomeLab】2023年!使用acme为群晖NAS自动部署证书

这篇具有很好参考价值的文章主要介绍了【HomeLab】2023年!使用acme为群晖NAS自动部署证书。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

之前一直是用的阿里云的免费证书,只能单个域名申请,有效期一年。这样每年都需要进行证书更新,最近真的是头秃了。在查阅不少资料后,发现使用acme可以快速满足需求。

acme.sh是一款方便,强大的域名证书申请&续签工具,支持一键申请&持久化续签。其支持HTTP验证和 DNS 两种域名验证方式,并且可同时申请多张单域名,泛域名证书,并自动续签证书和部署到项目。如此强大的工具怎能不试试。

最终自己根据场景,选择自动化方案如下,通过阿里云AK,自动化添加TXT记录,进行域名解析校验。进而生成SSL证书进行部署。

  1. NAS为内网环境,无公网IP,故PASS掉HTTP方案。
  2. acme支持群晖自动部署,其使用登录脚本,进而调用群晖API进行证书部署。

一、 阿里云AK/SK生成

首先需要先申请AK/SK,在这里需要注意一下最小化权限。我们采用子账号授权来进行

  1. 打开阿里云子账户页面 https://ram.console.aliyun.com/users
    【HomeLab】2023年!使用acme为群晖NAS自动部署证书
    【HomeLab】2023年!使用acme为群晖NAS自动部署证书

  2. 用户授权,添加对域名解析的访问权限
    【HomeLab】2023年!使用acme为群晖NAS自动部署证书
    【HomeLab】2023年!使用acme为群晖NAS自动部署证书

  3. 生成AK/SK
    【HomeLab】2023年!使用acme为群晖NAS自动部署证书
    【HomeLab】2023年!使用acme为群晖NAS自动部署证书

【HomeLab】2023年!使用acme为群晖NAS自动部署证书
保存好获取到的AccessKey ID以及AccessKey Secret,在后面步骤中会用到。

二、 群晖账号生成

同样,为了便于账号区分,在这里我新建了一个acme账号,授予Administrator权限。(最小化权限失败)
一方面是省的关闭自己使用账号的二次认证,另一方面也是以便后面进行日志审计。

控制面板->用户与群组->用户账号->新建

【HomeLab】2023年!使用acme为群晖NAS自动部署证书

【HomeLab】2023年!使用acme为群晖NAS自动部署证书

【HomeLab】2023年!使用acme为群晖NAS自动部署证书

然后一路下一步即可。

三、 Docker部署

通过docker-compose部署即可,相关脚本如下

  1. 目录结构
# 目录结构
.
 |docker-compose.yml
 |main
 | |domain.list
 | |add_domain.sh
 | |init_domain.sh
 | |start.sh
  1. docker-compose.yml
# docker-compose.yml
version: '3'
services:
  acme-service:
    image: neilpang/acme.sh
    container_name: acme
    volumes:
      - ./data:/acme.sh
      - ./main:/root/main
    environment:
      - Ali_Key= # 第一步获取到的AccessKey ID
      - Ali_Secret= # 第一步获取到的AccessKey Secret
      - SYNO_Hostname= # NAS登录的IP、或者HOST
      - SYNO_Scheme= # NAS登录协议,建议HTTP,免得HTTPS过期产生问题
      - SYNO_Port= # NAS登录端口
      - SYNO_Username= # NAS账号,建议使用新建账户账号
      - SYNO_Password= # NAS密码,建议使用新建账户密码
    tty: true
    command: daemon
  1. start.sh
#!/bin/sh
# start.sh
DOMAIN=$1
export SYNO_Certificate=$DOMAIN
export SYNO_Create=$DOMAIN

# DNS类型,dns_ali dns_dp dns_gd dns_aws dns_linode根据域名服务商而定,我使用阿里
DNS='dns_ali'
DNS_SLEEP=20

# 证书服务商,zerossl 和 letsencrypt,我使用letsencrypt
CERT_SERVER='letsencrypt'
generateCrtCommand="acme.sh --force --log --issue --server ${CERT_SERVER} --dns ${DNS} --dnssleep ${DNS_SLEEP} -d "${DOMAIN}""
installCrtCommand="acme.sh --deploy -d "${DOMAIN}"  --deploy-hook synology_dsm"

$generateCrtCommand
$installCrtCommand
  1. init_domain.sh
#!/bin/sh
# 循环本地domain.list,并且进行证书部署
for line in `cat /root/main/domain.list`
do
    DOMAIN=$line
    sh /root/main/start.sh $DOMAIN
    echo "[+] $DOMAIN is over.. Please wait...."
    sleep 10
done
  1. domain.list
*.hello.com
*.test.cn
  1. add_domain.sh
#!/bin/sh

DOMAIN=$1
echo $DOMAIN >> domain.list
sh /root/main/start.sh $DOMAIN
echo "[+] Add $DOMAIN success!"

启动时,在domain.list中填写需要部署的域名即可,然后运行命令。

docker-compose up -d
docker exec acme sh /root/main/init_domain.sh

【HomeLab】2023年!使用acme为群晖NAS自动部署证书
【HomeLab】2023年!使用acme为群晖NAS自动部署证书

后续如果还要增加域名可以直接运行如下命令即可。

docker exec acme sh /root/main/add_domain.sh abc.hello.com

【HomeLab】2023年!使用acme为群晖NAS自动部署证书

注:虽然每次申请为90天,但acme默认会有自动部署检测,所以只要docker正常运行,我们没必要再去进行额外操作。

注2:SSH使用完记得关闭。

代码下载:https://download.csdn.net/download/qq_25924971/87405350

四、 安全加固-监控acme账号登录

TODO:好像群晖没有类似账号登录提示的功能,待进一步查看。文章来源地址https://www.toymoban.com/news/detail-428757.html

参考资料

  • 【SMZDM】群晖使用acme申请泛域名证书并设置自动证书部署
  • 【SMZDM】群晖使用acme.sh申请并部署泛域名证书
  • 【思有云 - IOIOX】自动化部署证书 acme.sh 详细实践使用教程

到了这里,关于【HomeLab】2023年!使用acme为群晖NAS自动部署证书的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 群晖NAS部署可视化Docker管理工具(Portianer)

    Portainer 是一个可视化的Docker操作界面,提供状态显示面板、应用模板快速部署、容器镜像网络数据卷的基本操作(包括上传下载镜像,创建容器等操作)、事件日志显示、容器控制台操作、Swarm集群和服务等集中管理和操作、登录用户管理和控制等功能。功能十分全面,基本

    2024年02月08日
    浏览(38)
  • 群晖NAS如何在内网部署HTTPS服务让浏览器信任证书

    最近在折腾内部部署Web服务。通过Vue实现一个H5的内部的管理服务。但在实际部署过程中由于种种原因,必须部署成Https服务。但在部署成Https服务后,由于没有HTTPS证书,每次进入页面都会被浏览器拦截。使用起来非常不便。于是开始各种Google折腾,终于实现了在导入证书的

    2024年02月05日
    浏览(44)
  • 群晖NAS使用VPN套件实现异地映射

    目前异地访问NAS数据越来越频繁,之前分享的使用WebDAV实现异地访问的方法虽然可以满足小文件的传输,由于WebDAV协议限制,无法实现大文件的传输,此教程指导大家如何使用群晖VPN Server来实异地映射传输大文件。 由于政策所限,需要到非中国网站下载群晖VPN Server,这里建

    2024年02月09日
    浏览(33)
  • 群晖NAS:通过Docker 部署宝塔面板【注册表:btpanel-baota、cyberbolt/baota、pch18/baota】

    备注说明: btpanel-baota 最好用,小巧快速,安装时nginx 比价容易成功 cyberbolt/baota 小巧,但是nginx不容易安装,老是失败,安装使用过程基本上第一个相同 pch18/baota 镜像包太大了,运行起来有点卡,不建议 安装过程遇到问题,不要一直死磕某一步骤,先看文末解决方案。 由于

    2024年02月05日
    浏览(38)
  • 使用群晖NAS Mail Server搭建个性化邮件系统

    一个顶级域名 可以获取公网IP的宽带 路由使用DDNS功能,或使用群晖自带DDNS,解析顶级域名 可以做“端口映射”的路由器 step1:安装套件 登录群晖NAS,打开[套件中心],搜索“mail”,安装如下两个套件:“MailPlus server”、“MailPlus”; step2:安装MailPlus server服务端 打开“M

    2024年02月16日
    浏览(43)
  • 在群晖NAS(DSM 7)使用 Nginx 安装 HTTP Git 服务器

    详细配置可参考:如何在 Debian 11 上使用 Nginx 安装 HTTP Git 服务器 有两个配置NAS与linux系统不同:

    2024年02月14日
    浏览(32)
  • 一文搞懂如何在群晖NAS中使用cpolar实现【内网穿透】

    今天,我们来为大家介绍,如何在群晖系统中,使用图形化界面的cpolar。 cpolar 经过图形化改造后,使用方法已经简便了很多,基本与其他应用软件无异,都是根据需要,点击软件界面中不同的按钮,以实现不同的功能。当然,在正式使用前,仍需要对cpolar进行一些必要的设

    2024年02月15日
    浏览(42)
  • 安卓移动设备使用DS file文件管理工具远程访问本地群晖NAS文件

    DS file 是一个由群晖公司开发的文件管理应用程序,主要用于浏览、访问和管理存储在群晖NAS(网络附加存储)中的文件。这个应用程序具有强大的功能,如实时预览文件、文件智能管理、文件分类、文件上传下载等,而且所有功能都是免费使用。用户可以通过DS file安全地浏

    2024年01月24日
    浏览(41)
  • 群晖、威联通NAS硬盘本地化,使用RaiDrive通过WebDAV实现内网挂载

     先看效果   NAS磁盘映射到电脑本地的方法有很多,但好用流畅不卡顿的还得是WebDAV+RaiDrive将磁盘挂载到本地使用,而新版的RaiDrive必须连接互联网才能使用,完全物理隔离的内网中无法正常使用。最后我发现旧版的RaiDrive可以满足需求。   局域网内挂载NAS到本地电脑使用的

    2024年02月06日
    浏览(151)
  • 群晖折腾记1—群晖NAS使用docker中的ddns-go,DDNS阿里云ali实现Ipv6访问

    1、移动宽带只有IPv6公网地址,若你的宽带为电信或联通,它们都可以申请到公网IPv4地址,不需要这么复杂。 2、主路由为小米AX9000(虽然是定制OpenWrt系统,但是固件真的很辣鸡, 已开启SSH ),若你的路由器为其它系统,可以参考思路。 3、路由器拨号,怎么设置光猫桥接自己

    2024年02月13日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包