返回列表 发布新帖

[玩法/技巧] 群晖 docker 部署 acme.sh 自动申请域名证书,不用命令行

 火..
24666 166
发表于 2020-3-13 10:13:49 | 查看全部 阅读模式

来吧兄弟,一起玩一起讨论!

您需要 登录 才可以下载或查看,没有账号?注册

×
本帖最后由 stille 于 2020-3-13 10:20 编辑

欢迎访问我的博客 www.ioiox.com

前言
上文已经介绍了 acme.sh 的详细实践使用教程,网上关于群晖NAS上使用acme.sh来自动化申请和部署证书的相关文章已经有很多,由于群晖特殊的环境,只能通过 SSH 登陆到 Linux 环境使用命令来完成操作,对于新手可能并不友好.本文将详细介绍在群晖NAS的DSM 管理界面利用 docker 部署 acme.sh 服务来申请证书.

由于全自动化部署的整个流程不确定因素过多,所以本文仅针对申请步骤实现真正的一键申请.为保险起见还是手动导入证书.

acme.sh 是一款方便,强大的 Let's Encrypt 域名证书申请续签程序.支持一键脚本和 docker 部署.支持 http 和 DNS 两种域名验证方式,其中包括手动,自动 DNS 及 DNS alias 模式方便各种环境和需求.可同时申请合并多张单域名,泛域名证书,并自动续签证书和部署到项目.

本文为Stille原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.


部署简介
整个部署流程非常简单,具体为以下三个步骤:
  • 准备 DNS API
  • 安装 acme.sh
  • 执行申请命令

本文以最常规的 DNS API 验证模式为例,其他方式请参考官方Wiki.


准备 DNS API通过使用域名服务商提供的 API 密钥,让acme.sh自动创建域名验证记录以申请域名证书. acme.sh 支持全球各种域名服务商的 API ,本文将以阿里云,腾讯云,Cloudflare为例.更多 DNS API 支持,请查看:官方dnsapi
阿里云
推荐使用子账户,并赋予子账户 DNS 权限,以确保安全性.


授权该用户,搜索DNS,并将AliyunDNSFullAccess移动至右侧确定.

根据官方dnsapi获取阿里云的API格式为:
export Ali_Key="LTAI4Fd8J9qs4fxxxxxxxxxx"export Ali_Secret="Xp3Z7NDOW0CJcPLKoUwqxxxxxxxxxx"
腾讯云
腾讯云的域名由dnspod.cn管理,登陆管理控制台,右上角选择密钥管理,创建密钥并复制保存好生成的ID和Token.

根据官方dnsapi获取DNSPod.cn的API格式为:
export DP_Id="124xxx"export DP_Key="54ddaa41245837600ce713xxxxxxxxxx"
Cloudflare
Cloudflare 的 API 分为 global api key 全局 API 和创建 new api token ,网上各种教程都是使用全局 API .为确保安全,推荐创建 new api token 来使用.
登陆 Cloudflare 点域名进入,右侧有如下图 API 信息.首先复制保存Account ID.然后点击Get your API token.

点击Create Token创建新 API Token,具体参考如下:
其中 Zone Resources 选择你的 Cloudflare 账户邮箱


根据官方dnsapi获取CloudFlare的Using the new cloudflare api token格式为:
export CF_Token="PfCA6tyLxxxxxxxx-sS6ANgqzuVexxxxxxx"
export CF_Account_ID="1fs48ec7e2063cb70hacc3xxxxxxxxxx"



群晖 docker 部署
群晖NAS的 docker 容器部署,支持以下两种方式:
  • docker executable 执行模式
  • docker daemon 守护模式

docker executable 执行模式
群晖NAS的 DSM 中以 docker executable 执行模式 创建 docker 容器,会在创建时根据执行命令来申请证书,并在证书申请完成后停止容器.

配置 DNS API
手动创建account.conf文件.本文以/docker/acme目录为例.

根据上文获取的 API 格式,复制粘贴并保存.
实践过程中遇到自动生成的 AUTO_UPGRADE='1' 参数可能会导致 API 格式错误.建议手动加入.
export DP_Id="xxxxx"
export DP_Key="xxxxxxxxxxxxxxxxxxxx"
AUTO_UPGRADE='1'

下载镜像启动容器
群晖 docker 注册表中搜索acme.sh并下载latest最新版.



配置容器

添加文件夹以挂载配置文件和证书输出目录,选择本文示例的docker/acme,装载路径为/acme.sh.
装载路径由镜像作者规定,不能修改,请直接复制粘贴.



游客,如果您要查看本帖隐藏内容请回复

评论166

sun8023Lv.9 发表于 2020-3-13 10:22:50 | 查看全部
本帖最后由 sun8023 于 2020-3-13 10:24 编辑

感谢分享/////Let’s Encrypt支持吗
回复 点赞

使用道具 举报

stille楼主 发表于 2020-3-13 10:25:40 | 查看全部
sun8023 发表于 2020-3-13 10:22
感谢分享/////Let’s Encrypt支持吗

就是let'encrypt
回复 点赞

使用道具 举报

sun8023Lv.9 发表于 2020-3-13 10:47:03 | 查看全部

好的,原来用命令的,老是到期不自动,好像是重复没设置对,试试这个
回复 点赞

使用道具 举报

stille楼主 发表于 2020-3-13 10:49:03 | 查看全部
sun8023 发表于 2020-3-13 10:47
好的,原来用命令的,老是到期不自动,好像是重复没设置对,试试这个

那你试试 守护模式 吧
执行模式是单次的,也不会续签
回复 点赞

使用道具 举报

cheong0hkLv.10 发表于 2020-3-13 11:09:16 | 查看全部
谢谢分享
回复 点赞

使用道具 举报

北境守护 发表于 2020-3-13 11:16:44 | 查看全部
需要 80 443端口么?
回复 点赞

使用道具 举报

sshaloLv.4 发表于 2020-3-13 11:28:54 | 查看全部
谢谢楼主分享
回复 点赞

使用道具 举报

sun8023Lv.9 发表于 2020-3-13 14:07:40 | 查看全部
不会自动导入群晖呀
回复 点赞

使用道具 举报

wjq_xpLv.10 发表于 2020-3-13 20:40:16 | 查看全部
能申请泛域名证书吗
回复 点赞

使用道具 举报

hangaj 发表于 2020-3-13 21:58:29 | 查看全部
感谢分享了,太牛了
回复 点赞

使用道具 举报

zczc0417Lv.4 发表于 2020-3-13 23:46:01 | 查看全部
群晖 docker 部署 acme.sh
回复 点赞

使用道具 举报

xxzj990Lv.6 发表于 2020-3-14 13:59:55 | 查看全部
谢谢分享,试试
回复 点赞

使用道具 举报

HHHLv.3 发表于 2020-3-14 19:58:26 | 查看全部
谢谢分享
回复 点赞

使用道具 举报

gdzjyLv.6 发表于 2020-3-14 20:52:58 | 查看全部
这个确实好,我参照这个教程成功更新证书。感谢分享。 
发表于 2024-2-5 16:40
回复 点赞

使用道具 举报

xuecqcnVIPLv.6 发表于 2020-3-14 21:13:00 | 查看全部
好东西一定要支持
回复 点赞

使用道具 举报

fzj2019Lv.8 发表于 2020-3-15 06:39:53 | 查看全部

感谢大佬分享!辛苦啦
回复 点赞

使用道具 举报

lifupingLv.10互助团队 发表于 2020-3-15 09:04:56 | 查看全部
感谢分享了,太牛了
回复 点赞

使用道具 举报

lifupingLv.10互助团队 发表于 2020-3-15 09:07:05 | 查看全部
感谢分享了,太牛了
回复 点赞

使用道具 举报

kayyLv.7 发表于 2020-3-15 19:52:37 | 查看全部
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
回复 点赞

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

淘宝小店

邀请码

VIP会员

微信客服

公众号

微信群

投诉/建议联系

support@gebi1.cn

未经授权禁止转载,复制和建立镜像,
如有违反,追究法律责任
  • 关注公众号
  • 添加微信客服
Copyright © 2001-2024 隔壁网 版权所有 All Rights Reserved. 粤ICP备14056481号-1
关灯 在本版发帖
扫一扫添加微信客服
返回顶部
快速回复 返回顶部 返回列表