由于国内公网 IP80 口被封禁 故只能用 DNS 验证的方式 本教程基于 acme dns 的验证方式签发证书
# 安装 acme 配置 cf 的 api
| curl https://get.acme.sh | sh -s email=mops@eiuop.com --force |
| export CF_Account_ID="xxxxxxxxxxxxx" |
| export CF_Token="xxxxxxxx" |
| export CF_Zone_ID="xxxxxxxxxxxxx" |
# 申请证书
| ./acme.sh --issue --server letsencrypt --dns dns_cf -d yourdomain.com |
| ln -s /root/.acme.sh/acme.sh /usr/local/bin/acme.sh |
# 安装证书
| ./acme.sh --installcert -d yourdomain.com --ecc --key-file /volume2/455g/cert/server.key --fullchain-file /volume2/455g/cert/server.crt |
- 将证书转换为 pkcs12 (pfx) 格式 jellyfin 会用到
| acme.sh --toPkcs -d yourdomain.com --password yourpassword |
- 复制到.pfx 文件到 /volume2/455g/cert/ 目录下
| cp /root/.acme.sh/yourdomain.com_ecc/yourdomain.com.pfx /volume2/455g/cert/ |
# 将证书部署到群晖
| export SYNO_USE_TEMP_ADMIN=1 |
- 在 /root/.acme.sh 目录下执行命令部署证书
| ./acme.sh --deploy --deploy-hook synology_dsm -d yourdomain.com |
# 设置自动续签功能
- 在控制面板添加计划任务 角色选 root 其中的 --home 为 acme 的安装目录,用于获取证书相关的信息
- 脚本为:
| export SYNO_Username="zxue" |
| export SYNO_Password="nas" |
| export SYNO_Certificate="xz.eu.org" |
| export SYNO_Scheme="http" |
| export SYNO_Port="5000" |
| export SYNO_USE_TEMP_ADMIN=1 |
| /root/.acme.sh/acme.sh --cron --home /root/.acme.sh --force |
# 参考文章
https://renyili.org/post/use_acme_update_ssl_certificates/# 三最后
https://blog.zakikun.com/archives/80.html
https://roamnote.com/play-with-code/ 使用 - acme.sh - 给群晖申请 - ssl - 证书 /