由于国内公网 IP80 口被封禁 故只能用 DNS 验证的方式 本教程基于 acme dns 的验证方式签发证书

# 安装 acme 配置 cf 的 api

  • ssh 连接群晖 切换到 root 账户
sudo su
  • 进入 root home 目录
cd ~
  • 安装 acme
curl https://get.acme.sh | sh -s email=mops@eiuop.com --force
  • 进入 /root/.acem.sh 目录
cd /root/.acme.sh
  • 设置 CF Account 信息
export CF_Account_ID="xxxxxxxxxxxxx"
  • 设置 CF Token 信息
export CF_Token="xxxxxxxx"
export CF_Zone_ID="xxxxxxxxxxxxx"

# 申请证书

./acme.sh --issue --server letsencrypt --dns dns_cf -d yourdomain.com
  • --server letsencrypt 指定申请 letsencrypt 证书 -d *.example.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 - 证书 /

阅读次数

请我喝[茶]~( ̄▽ ̄)~*

藏雪 微信支付

微信支付

藏雪 支付宝

支付宝

藏雪 贝宝

贝宝