惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
S
Securelist
D
Docker
The Register - Security
The Register - Security
GbyAI
GbyAI
Recorded Future
Recorded Future
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
云风的 BLOG
云风的 BLOG
P
Proofpoint News Feed
罗磊的独立博客
博客园 - 【当耐特】
F
Full Disclosure
WordPress大学
WordPress大学
腾讯CDC
小众软件
小众软件
大猫的无限游戏
大猫的无限游戏
D
DataBreaches.Net
SecWiki News
SecWiki News
L
Lohrmann on Cybersecurity
I
InfoQ
MyScale Blog
MyScale Blog
量子位
Cyberwarzone
Cyberwarzone
博客园 - 三生石上(FineUI控件)
The Hacker News
The Hacker News
F
Fortinet All Blogs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Jina AI
Jina AI
博客园_首页
H
Help Net Security
K
Kaspersky official blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Webroot Blog
Webroot Blog
Blog — PlanetScale
Blog — PlanetScale
V
Vulnerabilities – Threatpost
Y
Y Combinator Blog
The Cloudflare Blog
P
Proofpoint News Feed
V
Visual Studio Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
T
Tailwind CSS Blog
爱范儿
爱范儿
P
Privacy International News Feed
Security Archives - TechRepublic
Security Archives - TechRepublic
The GitHub Blog
The GitHub Blog
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog RSS Feed

帮开心

Chrome浏览器 “此扩展程序不再受支持,因此已停用” 解决方案 - 帮开心 docker安装sqlserver2022带全文搜索FTS - 帮开心 memos从0.21更新到0.22后minio对象存储问题 - 帮开心 Minio不配置MINIO_DOMAIN的影响 - 帮开心 ruoyi-cloud-plus中获取getinfo超时是oss问题 - 帮开心 群晖安装minio一直无限重启 - 帮开心 unraid安装win11或者win10报错uefi interactiver shell v2.2 - 帮开心 docker拉取harbor仓库带秘钥 - 帮开心 IntelliJ Webstrom升级2023.1后使用新UI后中无法识别package.json里面定义的脚本? - 帮开心 windows升级更新后安全中心打不开 - 帮开心 Vue报错error:0308010C:digital envelope routines::unsupported的解决方法 - 帮开心 java开源后台管理项目整理 - 帮开心 Star Charts:记录GitHub 项目Star 变化趋势工具 - 帮开心 Icons图标项目合集 - 帮开心 免费编程学习网站freeCodeCamp-----------真的不错 - 帮开心 推荐一个可以下载各种版本JDK的网站 - 帮开心 分享华硕ACRH17的固件和遇见的坑 - 帮开心 linux(centos/龙蜥)安装harbor并配置ssl - 帮开心
JAVA程序员玩群晖NAS之通过ACME自动申请部署群晖7.2的SSL证书 - 帮开心
帮开心 · 2024-09-25 · via 帮开心

大家好,我是开心哥!

阿里和腾讯在今年陆续的把免费版ssl证书有效期从1年改为了3个月,使我们从原来的一年一换证书变为了现在的3个月一换,很不方便,后续就在网上找各种方法来避免自己手动更换ssl证书;

最后决定用acme来自动更新群晖(Synology)的ssl证书

1、首先,在群晖上安装acme脚本

你需要用ssh连接工具连接上nas,然后执行 sudo su命令,进入管理员模式

然后到当前用户根目录下载脚本

执行脚本安装到本地并指定申请ssl证书的邮箱

sudo su
cd ~
wget https://github.com/acmesh-official/acme.sh/archive/master.tar.gz
tar xvf master.tar.gz
cd acme.sh-master/
./acme.sh --install --nocron --home /usr/local/share/acme.sh --accountemail "email@gmail.com"
source ~/.profile

 2、配置 域名服务商DNS信息

我的域名是注册在腾讯的,因此选择的是dnspod.cn的参数指定

你需要到dnspod.cn登录后新建dnspod token

也有腾讯云的

export DP_Id="<id>"
export DP_Key="<key>"


export Tencent_SecretId="<Your SecretId>"
export Tencent_SecretKey="<Your SecretKey>"

DP_Id 和 DP_Key 将保存在 ~/.acme.sh/account.conf 中,并在需要时重复使用。

 3、创建ssl证书

到acme对应目录下

填写需要申请ssl证书的域名

填写对应dns名称

cd /usr/local/share/acme.sh
export CERT_DOMAIN="your-domain.com"
二选一
export CERT_DNS="dns_tencent"
export CERT_DNS="dns_dp"
./acme.sh --issue --server letsencrypt --home . -d "$CERT_DOMAIN" --dns "$CERT_DNS" --keylength 2048

4、部署默认证书

对环境进行一些配置,一般默认就行,如果对默认端口进行过改动,修改SYNO_PORT参数就行

SYNO_CREATE字段是如果没有证书则自动创建,设置一下较好。

SYNO_CERTIFICATE是证书注释信息。

export SYNO_SCHEME="http"
export SYNO_HOSTNAME="localhost"
export SYNO_PORT="5000"
export SYNO_CREATE=1
export SYNO_CERTIFICATE=""

export SYNO_USE_TEMP_ADMIN=1

这一行是设置为使用自动创建的临时管理员用户来执行命令,

设置完毕后

执行命令 ./acme.sh --deploy --deploy-hook synology_dsm -d example.com 将 example.com 的证书部署到 DSM。

注意:可以根据SYNO_CERTIFICATE的不同,部署不同的证书到DSM

(推荐)通过执行 export SYNO_USE_TEMP_ADMIN=1 来使用自动创建的临时管理员用户。这样,您无需提供任何管理员凭据,部署脚本本身将利用 Synology 内置实用程序完成身份验证,因此它设计为仅支持本地部署,不能用于在 docker 中部署或远程部署。

执行命令 ./acme.sh --deploy --deploy-hook synology_dsm -d example.com 将 example.com 的证书部署到 DSM。

5、部署其他证书

通过指定不同的 SYNO_CERTIFICATE(并设置 SYNO_CREATE=1 进行创建),我们可以将多个证书部署到 DSM。

# SYNO_Certificate is the description shown under Security -> Certificates in the DSM Control Panel
export SYNO_CERTIFICATE="A different certificate description"
export SYNO_CREATE=1 # Says to create the certificate if it doesn't exist
./acme.sh --deploy --home . -d "subdomain.$CERT_DOMAIN" --deploy-hook synology_dsm

6、配置证书续订

要在将来自动续订证书,您需要在任务计划程序中配置任务。不建议将其设置为自定义 cronjob(如本 wiki 页面之前所述),因为 DSM 安全顾问会告诉您有关于未知 cronjob 的严重警告。

在 DSM 控制面板中,打开 Task Scheduler 并为用户定义的脚本创建新的计划任务。

常规设置:任务 - 更新默认证书用户 - 根

计划:设置每周续订。例如,每周六上午 11:00。

任务设置:用户自定义脚本:

# renew certificates 
/usr/local/share/acme.sh/acme.sh --cron --home /usr/local/share/acme.sh

7、修复 Synology DSM 升级后损坏的环境

./acme.sh --force --upgrade --nocron --home .

或手动将以下行添加到 /root/.profile 中

. "/usr/local/share/acme.sh/acme.sh.env"

参考链接

https://github.com/acmesh-official/acme.sh/wiki/Synology-NAS-Guide

https://github.com/acmesh-official/acme.sh/wiki/dnsapi#dns_dp

https://github.com/acmesh-official/acme.sh/wiki/deployhooks#20-deploy-the-certificate-to-synology-dsm