Unraid远程SSL加密访问,ACME实现自动续期申请和替换系统证书文件

2021-11-16 17:38:32 11点赞 84收藏 15评论

【写作说明】:补个坑,之前折腾完NAS,装Unraid系统,为了实现远程Https加密访问,使用Letsencrypt证书手动合成后替换到Unraid系统配置中,每3个月就要手动申请合成一次,实在麻烦。

最近折腾一些联想小主机,魔改BIOS和CPU,算是暂告一段,重新折腾下Unraid把自动证书申请续期和替换补坑,折腾好看到网上关于这个Unraid系统部署SSL远程访问和自动续期的教程很少,发出来给玩Unraid的小伙伴一个参考。

前两天看油管一个UP主各种吐槽Unraid,出个什么一篇就够了的视频,评论里被各种小伙伴怼,每个系统都有优缺点,自己喜欢就好,我买的正版Unraid,使用半年感觉还是不错的。

另外上篇关于联想M710Q/M910Q最新魔改BIOS及刷改教程,789代部分10代及魔改U的文章里,评论区有个小伙伴说发M710Q硬改增加M.2接口的,大家还在等着你的教程。

折腾理由

就是懒……

直达主题

前面废话够多了,直接开始

准备工作:

  1. 公网IP,路由器做好DDNS转发

  2. 阿里域名(或者其他域名自行变更)

  3. Unraid安装NginxProxyManager反向代理

  4. Unraid安装User Scripts脚本管理器

  5. 获取阿里账号的AccessKey

  6. Unraid管理权限设置

Unraid远程SSL加密访问,ACME实现自动续期申请和替换系统证书文件

开启代码模式,注意代码结构,空格不能取消,#位置为代码的解释,复制代码部分即可:

  • #创建ACME.SH,可以先在你准备把证书文件放置的文件夹中创建一个ACME文件夹,黑体部分为我的ACME.SH位置,***号部分填入你自己阿里账号获取的AccessKey

  • docker run --rm -itd -v /mnt/user/appdata/ACME:/acme.sh -e Ali_Key=******** -e Ali_Secret=******** --net=host --entrypoint /bin/sh --name=acme.sh neilpang/acme.sh;

  • #更改默认证书为letsencrypt,目前ACME.SH默认的证书是zerossl

  • docker exec acme.sh --set-default-ca --server letsencrypt;

  • #申请证书,将你自己的域名替换掉123445.com

  • docker exec acme.sh --issue --dns dns_ali -d 12345.com -d *.12345.com --force;

  • #安装证书privkey.pem,fullchain.pem,其实就是将申请的证书文件12345.com中的.cer和.key输出为.pem到ACME文件夹中,12345.com同样更改为你自己的域名

  • docker exec acme.sh --install-cert -d 12345.com --key-file /acme.sh/privkey.pem --fullchain-file /acme.sh/fullchain.pem;

  • #进入ACME文件夹,因为需要将两个.pem合并一个Unraid系统需要的certificate_bundle.pem文件,所以我直接进入ACME文件夹中操作,这个certificate_bundle.pem替换自己的系统/boot/config/ssl/certs文件夹中需要替换的pem文件名称

  • cd /mnt/user/appdata/ACME/;

  • #合并Unraid SSL文件,将ullchain.pem和privkey.pem合并成一个Unraid系统需要的SSL文件,名称certificate_bundle.pem根据自己的文件名修改

  • cat fullchain.pem privkey.pem> certificate_bundle.pem;

  • #剪切替换Unraid SSL证书路径中的/boot/config/ssl/certs/certificate_bundle.pem文件(注意文件名一致性)

  • mv /mnt/user/appdata/ACME/certificate_bundle.pem /boot/config/ssl/certs;

  • #复制证书到NginxProxyManager,将导出的privkey.pem,fullchain.pem两个文件复制到NginxProxyManager中,注意变更自己的路径,npm-*选择你自己custom_ssl文件夹下的最大值,我的最大值文件夹是npm-9

  • cp -rf /mnt/user/appdata/ACME/*.pem /mnt/user/appdata/NginxProxyManager/custom_ssl/npm-9;

  • #重启NginxProxyManager

  • docker exec NginxProxyManager reboot

加粗的位置都是要修改的,有些路径可能也不用修改,还是一一检查的好,一共9行命令,使用User Scripts创建一个ACME或其他名称的脚本,将以上代码根据自己情况更改完成后填入到脚本中,设置* * * */2 *调用周期保存即可。

ZDM发代码有时候会乱掉,截图附上,注意代码结构,图片不知道看得清看不清,哎…

Unraid远程SSL加密访问,ACME实现自动续期申请和替换系统证书文件

Unraid远程SSL加密访问,ACME实现自动续期申请和替换系统证书文件

Unraid远程SSL加密访问,ACME实现自动续期申请和替换系统证书文件

我也不是专业的,对代码一知半解,以上汲取一些大佬的代码和经验,补充整合,有不正确的欢迎交流指正……

总结

根据自己的系统情况和路径自行变通,注意文件名称、路径一致性,系统SSL文件替换后管理权限中更新DNS就能看到证书有效期延长了,NginxProxyManager反向代理中如何设置我就不讲了,有很多教程。

年底有可能准备搬家了,最近带孩子折腾时间也少,搬过家之后再折腾一些智能家居,从家庭网络、智能控制系统、智能设备之类的折腾下。


展开 收起

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

ihuman 洪恩 识字子集拼音思维ABC会员永久包3-6岁儿童早教启蒙礼物玩具 识字会员终身包

268元起

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

任天堂 Nintendo Switch《舞力全开 Just Dance》 游戏兑换卡

159元起

Microsoft 微软 OFFICE 365 家庭版 会员

Microsoft 微软 OFFICE 365 家庭版 会员

106元起

WPS 金山软件 WPS 超级会员 3年卡

WPS 金山软件 WPS 超级会员 3年卡

308元起

Microsoft 微软 Office 365 个人版

Microsoft 微软 Office 365 个人版

106元起

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

Microsoft 微软 365 家庭版 电子秘钥 正版高级Office应用 1T云存储

299元起

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

Microsoft 微软 到手18.2元/月 微软office365家庭版microsoft365增强版15个月

279元起

Microsoft 微软 OFFICE 365 个人版 办公软件

Microsoft 微软 OFFICE 365 个人版 办公软件

189元起

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

Microsoft 微软 office专业版永久激活码office2019增强版终身版outlook密钥

249元起

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

WPS超级会员Pro套餐4年卡1488天官方正版pdf转word排版

676.4元起

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

WPS超级会员4年套餐pdf转word排版PPT润色模板素材店铺

暂无报价

国行版 Switch体感游戏套装 《健身环大冒险》

国行版 Switch体感游戏套装 《健身环大冒险》

439元起

WPS 金山软件 会员季卡

WPS 金山软件 会员季卡

59.85元起

Microsoft 微软 office365家庭版15个月 203元

Microsoft 微软 office365家庭版15个月 203元

198元起

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

微软(Microsoft))win10win11专业版批量式授权企业版嵌入式正版化解决方案win11家庭版

1288元起

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

Microsoft 微软 活动6天 office365家庭版microsoft365订阅密钥

234元起
15评论

  • 精彩
  • 最新
  • 三连支持分享经验

    校验提示文案

    提交
  • nice,我用nginxproxy给unraid做反代,能成功,但是会有很多图形内容显示不出来。不知道原生ssl怎么样。设置为unraid需要重启吗

    校验提示文案

    提交
    请问这个代码是添加在哪里

    校验提示文案

    提交
    advenced里的Custom Nginx Configuration下自定义添加

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 大佬跟着做了一半没教程了,就差ngix设置阿,你合并两个pem文件,但是ngix的SSL证书不是要key文件么,对不上阿

    校验提示文案

    提交
  • 直接用 nginx proxy manager 申请证书即可,证书到期会自动续期。只需建立 unraid 证书合并和替换的脚本定期运行。
    ```
    cd /mnt/user/appdata/nginx-proxy-manager/letsencrypt/npm-1/live && cat fullchain.pem privkey.pem> certificate_bundle.pem && mv -f ./certificate_bundle.pem /boot/config/ssl/certs/
    ```
    每个月1号0点0分执行 cron `0 0 1 * *`

    校验提示文案

    提交
    NPM没有443端口应该不能自动申请证书吧?

    校验提示文案

    提交
    官方作者说可以

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大佬npm页面添加证书文件是访问文件夹的形式,然后怎么自动延长,必须把证书文件下载在再添加到npm里面

    校验提示文案

    提交
  • 大佬申请证书后,在npm里面应该怎么操作

    校验提示文案

    提交
  • 我的是dnspod,申请下来的没有.cer这个文件,您们的都有吗?

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
84
扫一下,分享更方便,购买更轻松