当前位置:首页 > NAS > 正文内容

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

ym02302年前 (2023-03-21)NAS2013

【写作说明】:补个坑,之前折腾完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管理权限设置

61934ba26b0c47154.png_e1080.png

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

  • #创建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发代码有时候会乱掉,截图附上,注意代码结构,图片不知道看得清看不清,哎…

61934a8d58f799592.png_e1080.png

61934a8d543491149.png_e1080.png

61934adcaf7943569.png_e1080.png

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

总结

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

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

PS:文章来自网络,原文地址

扫描二维码推送至手机访问。

版权声明:本文由嘉睿博客发布,如需转载请注明出处。

本文链接:https://tius.cc/?id=7

标签: UnraidSSLACME
分享给朋友:

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

黑群晖忘记密码解决办法! 不用重装,不用重置

黑群晖忘记密码解决办法! 不用重装,不用重置

大家都知道,白群晖上有 RESET 按钮,如果忘记密码,只要按住四秒钟直到哔声响将会重设管理者密码,我们很多人装的是黑群晖,根本没有reset键,如果你也没有设置找回邮箱,那忘记密码怎么办?这里我分享一种解决办法,说说原理:修改/etc/shadow文件,此文件也是linux系统上保存账户密码文件,...

TrueNAS SCALE中添加 jellyfin电影服务器容器实列

TrueNAS SCALE中添加 jellyfin电影服务器容器实列

教程开始docker版的jellyfin镜像地址是 https://hub.docker.com/r/linuxserver/jellyfin网站提供的参考 cli指令docker run -d \   --name=jellyfin \...

truenas scale部署docker,推荐使用Portainer-ce

truenas scale部署docker,推荐使用Portainer-ce

1,在TrueNAS-SCALE版本 21.08-BETA.2 中,已经不需要修改 daemon.json,可以直接run。2,网络模式推荐使用host,而不是bridge。host更容易内网穿透(emby,transmission,qbittorrent)。bridge虽然译为桥接,但他其实有一层...

宝塔NGINX搭建企业微信中转服务代理

宝塔NGINX搭建企业微信中转服务代理

首先选一个端口,我选的是6705在宝塔安全里面放行端口,如果是阿里云或者腾讯云的进控制台把端口在安全组里放行。然后在宝塔NGINX 管理,点配置修改,在最底部include /www/server/panel/vhost/nginx/*.conf; }上面这段代码的前面加入以下代码:se...

TrueNAS存储池和磁盘降级(DEGRADED)个人处理经验

TrueNAS存储池和磁盘降级(DEGRADED)个人处理经验

前言从去年年初开始折腾NAS并选择了TrueNAS作为系统之后,可以说是历尽艰辛,软件硬件的坑踩了一大堆,但好在大部分在有限的学习和试错成本之后,都解决了,但是从去年年中开始,TrueNAS突然开始报严重错误(Critical),存储池降级,状态为DEGRADED;一块磁盘也显示降级,状态为DEGR...

群晖Synology命令wget不支持HTTPS的解决方法

群晖Synology命令wget不支持HTTPS的解决方法

背景:最近折腾容器部署,发现群晖无法wget关于https的的命令,会提示HTTPS support not compiled in.这样的报错。因为经常需要用ssh链接群晖进行一些命令可操作,减少手工点击,所以找了找解决方法。其实很简单,卸载原来的wget,然后重新安装支持https的wget就可...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。