APP下载 微博 微信

Hao4K影音


[经验心得] Unraid设置反向代理实现泛域名访问Docker应用

[复制链接]

发表于 2020年01月21日 10:40 127336 0 来源:媒体存储> 经验心得 回帖奖励 |正序浏览 |

QieGe 帖主

2020-1-21 10:40

Unraid设置反向代理实现泛域名访问Docker应用

实目前我对 nas 的认识和需求还处在比较初级的阶段,毕竟手上只有两块不大的硬盘,暂时也不打算组磁盘阵列或上校验盘。
本文主要记录如何从外网通过 jellyfin.xxx.ml 这样的域名来远程访问 unraid 上的 Jellyfin 媒体服务。
我的Jellyfin服务
第一次写文比较啰嗦,先送上主要目录:
Unraid 安装和设置
光猫改桥接
域名申请与域名解析
Nginx Proxy Manager 设置

硬件准备
前提:宽带能够获取
公网 ip,没有的话需要致电运营商申请,不然就跳过本文章转战内网穿透吧
之前主要用到的穿透方案有两个,frp和
zerotier,frps 配置在一台云服务器上,一般用于路由器及 unraid 的设置和 tr 下载控制,适合数据传输量较小的场景,而 zerotier 用于视频播放、samba 文件访问等操作。
手里的一些硬件:
光猫(湖北联通 wo-27s)+
路由器(极路由3刷 padavan,只有一个千兆 LAN 只能分配给 NAS 了...目前种草 Redmi AC2100,毕竟还能加速 xbox 联机游戏)
暴风二期680 包邮,被阿文菌的 J3455 文章种草,在折腾过 N1 小钢炮和星际魔盒之后,深感 Arm 下docker 的局限,眼看着上半年看不上的蜗牛 J1900 价格上涨,一狠心便直接入了暴风。不过自己抠了两个 4k remux 后就后悔了,jellyfin 网页端实在带不动这个转码
看看人家司波图的 G5400。好在 kodi 直接播放没有问题。
粒子云拆机盘东芝4T450 包邮,性价比优势
旧西数绿盘 2T,NTFS 格式,保留之前的各种文件
闪迪
16G 2.0 U盘,unraid系统引导盘,官方 wiki 指出 2.0 的 U盘更适合做系统引导,越小越好
一台用于访问网页配置的PC/笔记本/平板/手机等

Unraid 安装和设置
安装部分可以参考阿文菌等大佬的教程
这里简单叙述一下欢乐版安装过程(按照 help 文档操作安装成功,我给翻译翻译):
自行搜索 6.7.2 换乐下载地址,一个毛子的页面,四组地址随便选一组,下载两个 7z 文件并解压
打开 Unraid.USB.Creator.Win32-1.6.exe,选择U盘并写入系统
将 Crack 文件夹下的两个文件拷贝到U盘根目录,覆盖同名文件
U盘插入 NAS,开机(进 bios 设置U盘引导启动)
路由器后台找到 NAS 的 ip 地址,进入 unraid 安装界面
找到 GUID 的值,例如 0781-5571-0000-040xxxxxxx30,记录下来,关闭 NAS,拔下U盘
打开 keymaker.exe,输入 GUID,生成 BTRS.key 文件
将 BTRS.key 复制到U盘 config 文件夹
U盘插入 NAS,开机设置
  
后来更换过一次U盘,将原U盘所有文件复制到新U盘,按照流程重新生成一个 key 文件覆盖就行了
(工作后一定支持正版


基本设置可参考其他大佬的教程,这里补充一个
挂载 NTFS等格式硬盘的设置:

Unassigned Devices
在 unraid 的 APP 页面搜索 Unassigned Devices 并安装,打开 Array 的情况下在 Main 页面可以看到 Unassigned Devices,在相关硬盘后面点 Mount 就挂载上了,可以开启 AUTO MOUNT 和 SHARE 选项即开机自动挂载和 samba 共享。点击 Unassigned Devices 右边设置的图标可以找到 SMB Security 设置用户访问权限。
Network Settings 里将 Network protocol 修改成了
IPv4/IPv6留给以后折腾 pt(现在还只有学校的 pt,放假回到家发现蝴蝶的 ipv6 关闭访问了,目前处于闲置状态,求药)
Jellyfin的安装和配置参考了阿文菌的文章和司波图的视频

光猫改桥接(仅个人测试,请视情况慎重修改)
以湖北联通 wo-27s 为例
进入光猫后台管理页面 http://192.168.1.1/cu.html
账号密码均为 CUAdmin,进入后可以在状态-网络侧信息里看到 *_INTERNET_B_VID_** 的模式为 PPP ,确认这里的 ip 是公网 ip
关键操作:进入基本设置-上行线路设置-WAN连接中,选择协议版本ipv4/v6,连接名称中选择刚刚那个名字带有INTERNET的连接,记下绑定端口,VLAN ID,确保已知宽带的账号密码,然后点击右下角的删除(慎重)
此时已删除了光猫的拨号网络,重启光猫,再次进入基本设置-上行线路设置-WAN连接,选择协议版本ipv4/v6,新建WAN连接,模式设置为Bridge(桥接模式)端口绑定与之前相同,业务模式选择 INTERNET,VLAN模式选择 改写,VLAN ID填入之前的ID,点击修改保存

光猫设置桥接模式
路由器设置拨号(各路由器设置大同小异,略) 拨号成功后路由器后台可以看到公网 IP 地址
路由器设置 DMZ 主机,Padavan 为例:外部网络(WAN)-隔离区(DMZ),内网主机IP地址:选择 NAS 地址

域名申请与域名解析
Freenom 申请免费域名

选择域名
注册登录,输入要申请的域名检查可用性,选择喜欢的域名并结算,结算时最多可以选择12个月免费试用。完成订单后,在 Services-My Domains 里可以看到已经申请的域名,这里可以先进行下一步添加 DNS 解析。点击 Manage Domain,选择 Management Tools,Nameservers,选中Use custom nameservers (enter below),输入 DNS 服务商提供的地址,这里以 alidns 为例,点击 Change Nameservers修改成功。

设置dns服务器
添加 DNS 解析
以 aliyun 为例,进入云解析DNS控制台,用淘宝账号登录
添加域名,输入刚刚申请的免费域名。添加成功后,点击 域名-添加记录。记录类型选择 A 记录,主机记录填写 *
记录值先填写当前公网 ip

添加域名

添加记录
路由器设置 ddns,Padavan 为例:花生壳内网版-Aliddns,点 这里 查看如何获取 Aliddns 的 Access Key ID 和 Access Key Secret。获取后填入这两个值,顶级域名填刚刚添加的域名 *.xxx.ml,启动域名解析服务,应用

Nginx Proxy Manager 设置
这里参考了人生观大佬的教程
在 unraid 的 APP 页面搜索 Nginx Proxy Manager 并安装,部署设置基本不用修改,记住端口号,例如 7818 是设置页面,1880 是 http 端口,18443 是 https 端口,可以先到路由器中设置一下端口转发,还是以 Padavan 为例,外部网络(WAN)-端口转发(UPnP),启用手动端口映射,将外网 80 和 443 端口转发到 Nginx Proxy Manager 对应端口

端口转发
安装完成后,在 DOCKER 页面可以找到 Nginx Proxy Manager,点击图标进入 WebUI 配置。或者通过http://tower:7818 进入
第一次登录的账号密码是
Email address:admin@example.com
Password:changeme
进入后修改账号密码
Let&39;s Encrypt SSL 证书
unraid 里打开网页 Terminal,也可以用 ssh 登录到 unraid

拉取 docker 镜像
创建文件夹保存证书
运行 acme 程序生成证书,这里的 Ali_Key 和 Ali_Secret 和前面配置 DDNS 用到的值一样,最后的 *.xxx.ml xxx 替换成自己的域名,前面的 * 不能漏了
脚本运行完毕后 docker 容器会自动删除,这时证书文件被保存到了 ~/acme.sh 目录下,可以使用 cp 命令将证书目录复制到已共享的文件夹下,然后通过 samba、file browser 等方式下载证书文件到电脑
回到 Nginx Proxy Manager 后台,进入 SSL Certificates,点击 Add SSL Certificate-Custom

Name 随便填写,Certificate Key 选择证书文件夹下的 _.xxx.ml.key,Certificate 选择 fullchain.cer,点击 Save 保存
所有准备工作完成,最后就是添加反向代理设置了
进入 Proxy Hosts 页面,点击 Add Proxy Host,我的 jellyfin 设置如图,不打码



设置代理主机
在SSL标签页中选择刚刚添加的SSL证书,选中Force SSL,最后保存


打开强制https
接下来,浏览器输入域名 jellyfin.xxx.ml,可以访问则配置成功了
添加其他的 docker 应用同理,填写对应的域名和端口号即可
安卓手机使用 Chrome 浏览器访问并添加到桌面,会有神奇的事情发生

4G网络下Jellyfin转码播放
附加推荐一个应用 heimdall,可作为 NAS 导航页使用,在 unraid APP 里搜索安装即可

heimdall安装
端口号设置好后还可以去 Nginx 中添加代理,如果需要使用 xxx.ml 这样的域名访问,需要另外生成 xxx.ml 的SSL证书。

总结
对于个人使用来说反向代理可有可无,一般使用导航页+普通域名+端口号即可,但是对于我等轻度强迫症来说端口号还是有点碍眼了

其实frp也能实现一样的效果,只不过访问速度会大打折扣
因此有一个公网 ip 还是会方便不少,外网访问速度也提高了

如今 IPv4 地址已使用殆尽,IPv6 即将成为主流,后面将会研究如何使用 docker 配置 aliddns 的 IPv6 版本,以及私有 Tracker 下载相关的 IPv6 设置
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则



绑定微信 + 关注公众号,第一时间获得消息通知!
:
新手玩家
:
介绍未填写

主题

帖子

积分7

图文推荐

  • 家庭NAS+HTPC组建及注意事项(一)(内网穿

    原创篇一:家庭NAS+HTPC组建及注意事项(一)(内

  • 搭建私有云—华芸AS6404T NAS+华硕 AC68U体

    帮朋友搭建私有云—华芸AS6404T NAS+华硕 AC68U体

  • 小量的影视、音频存储方案之我见

    最近,一块使用了近十年的4T移动硬盘挂了(曾被摔

  • 科普:什么是硬盘MTBF?那MTTF、MTTD、MTTR

    买固态硬盘,我们会比较关注颗粒寿命,机械硬盘虽

  • 入了极空间,从黑群晖到极空间谈谈区别

    之前用过黑群晖,现在改了极空间 1、为什么从

  • 机械硬盘该怎么选?教你最全机械硬盘选购指

    机械硬盘该怎么选?教你最全机械硬盘选购指南

  • 极空间挂载阿里云、115、百度、夸克等20个

    理论上使用如下教实现程极空间可以挂载阿里云网盘

  • 红米AC2100刷Padavan固件超全详细教程

    刷机全过程图解 准备工作这部分,网上教程几乎都

  • NAS都有哪些品牌?带你了解几大NAS名牌介绍

    NAS都有哪些品牌?带你了解几大NAS名牌介绍 前

  • 群辉加USB3.0千兆网卡成功,教程分享

    具体安装替换参考此贴https://www.hao4k.cn/threa

  • Hao4K影音app客户端下载