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

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

ym02301年前 (2023-03-21)NAS1103

【写作说明】:补个坑,之前折腾完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实现自动续期申请和替换系统证书文件” 的相关文章

jellyfin豆瓣搜刮插件

jellyfin豆瓣搜刮插件

添加插件仓库的方法适用于V10.6.0以上,还需要梯子才能用,添加方法在下图所示位置存储库名称随便,存储库url:https://raw.githubusercontent.com/Libitum/jellyfin-plugin-douban/master/manifest.json,然后点保存然后...

玩PT,在NAS上如何做种子文件

玩PT,在NAS上如何做种子文件

【写作说明】:刚刚开始玩PT,在NAS上有文件想分享,可是如何做种子呢?不会,在电脑上很容易,但在NAS上,常用的qbittorrent是没有生成种子的菜单的,怎么搞呢,难住我了,好不容易在PT贴吧中找到一个方案,结果贴主写的太简单,对新手来说,交代的不够全面,折腾了好几天,总算搞定了,所以,特意发...

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虽然译为桥接,但他其实有一层...

处理群晖NAS中的烦人@eaDir文件夹

处理群晖NAS中的烦人@eaDir文件夹

     NAS文件夹里面有很多@eaDir文件夹,和Mac OS X里的.DS_Store类似,很烦人。找了解决方法:0.0 ssh登录群晖控制面板里面打开SSH0.1 Windows或者Mac,用 ssh 用户名@NAS IP地址登录1. 删除所有@eaDir文件夹...

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

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

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

发表评论

访客

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