飞牛下部署配置Lucky实现反向代理
飞牛系统其实有FN Connect使用,但是带宽只有2Mbps,速度并不是很理想。现在国内对IPv6也已经十分普及,如果你有一个公网的IPv6的地址的话,可以尝试使用Lucky进行DDNS以及反向代理。因为是直连所以速度基本上只受限于你的上传带宽。但是Lucky并不像雷池那样具备防御能力,所以尽量不要把自己的域名告诉陌生人,以免遭受无端攻击。
虽然Lucky在飞牛的应用中心也有,但是更推荐使用Docker部署,其实除非是特殊情况,都推荐使用Docker进行部署项目。理由有以下两点:
更新慢,应用中心的Lucky是由矿神大佬进行维护,不过近段时间矿神也宣布不更新,不清楚对这些应用有没有影响。
迁移能力弱,套件版的持久化文件修改一般需要使用SSH,哪天如果需要重新部署,或者套件迁移的话,就不如Docker方便。
部署Lucky
创建持久化文件夹
在Docker文件夹中创建一个名为Lucky的文件夹,用于存放持久化文件。权限一般为775。如果你没有Docker文件,建议创建一个,日后其它docker容器部署时也可以用得到。

部署容器
打开Docker——Compose——新建项目。
项目名称填写lucky,路径选择刚刚创建的Lucky文件夹。
来源选择创建docker-compose.yml。使用compose创建项目,方便以后重新部署和迁移。虽然也可以一步一步输入参数进行部署容器,但是日后重新部署就很繁琐了。
在输入栏中填入一下信息
services:
lucky:
image: gdy666/lucky
container_name: lucky
volumes:
- ./goodluck:/goodluck
network_mode: host
restart: always持久化文件选择在Lucky文件下创建一个名为goodluck的文件夹。网络模式使用host,bridge下容易获取不到ipv6地址。

勾选立即启动后,点击确定。
返回容器后可以看到lucky已经成功启动了。

配置Lucky
修改基础配置
在浏览器中输入飞牛的IP地址+端口16601,进入Lucky后台。
默认账号密码均为666。
进入后台后点击设置。
将两个端口号都改高一点,安全入口和账号密码也需要修改。修改完成后点击保存。

随后需要进入已经设置好的安全入口进入,像我设置的就是http://[飞牛IP]:56601/WhatCanISay。以后也必须使用这个地址进行后台管理,如果后期你有在外网访问的需求,那就把外网访问选项打开。
至此就已经完成基本的配置修改。
配置DDNS任务
在域名托管商中配置
此处需要一个域名,域名的购买就不赘述了,一个域名一年大约10-30元不等,有些便宜的顶级域名10年只需200元即可拿下。
以下均以腾讯云为例,其余托管商自行摸索,原理也大差不差。
在托管商DNS控制台中添加一条DNS解析记录。https://console.cloud.tencent.com/cns
点击添加记录。
主机记录填入*。记录类型为AAAA。记录值你可以填写你飞牛的IPv6地址。
点击确认。应该1-10分钟内即会生效。

此处讲解一下为什么是主机记录是*,这是一个泛域名标识,会将XXX.域名的访问统统解析到后面的IPv6地址去。等我们后续设置完Lucky,就会由Lucky识别域名前面的地址,然后转到我们需要的页面去。
等你看到这里的时候,可以试一下是不是能够访问你的域名,应该直接输入域名即可访问飞牛页面。如果没有的话,可以试一下在后面加端口,如果加了端口也无法访问的话。你就需要排查一下是不是路由器防火墙的问题。此处就不再赘述了,将来有机会单独出教程。
添加DDNS任务
进入Lucky后台,点击动态域名——添加任务。
填写任务名称。
托管服务商选择Dnspod.cn,虽然是腾讯云但是还是使用这个,和我一样在腾讯云购买域名的小伙伴不要选错。
此处需要Token,可以直接点击创建Token跳转到腾讯云控制台。点击创建密钥,输入名称。得到ID和Token,注意保存后再关闭!关闭后就看不到Token了!

启用{ipv6Addr},如果你有单独的ipv4的公网就选择ipv4Addr。
获取公网IP方式选择通过接口获取。如果这种方式不行,可以尝试其它方法,但是推荐还是通过接口获取。

点击添加同步记录。
记录名填写*.域名。

点击添加任务,即可添加DDNS任务,后续Lucky就会通过这个任务把ipv6地址同步给托管商。

添加SSL证书及自动续签
SSL证书可以让网页访问变成https加密,如果不加密使用http的话,在网络上基本等于裸奔,你也不想自己看小姐姐的时候和别人一起看吧,另外遭遇中间人攻击的话就更麻烦了。
点击SSL/TLS证书——添加证书。
添加方式选择ACME。ACME是大佬开源的一种签证方式,它甚至可以签泛域名,虽然安全级别比不上那种专业收费的,但是普通人来说也完全够用。
证书颁发机构我选的是ZeroSSL,你选择其它的也可以。
验证方式选DnsPod.cn。如果你是其它的托管商自行解决。
此处输入刚刚申请保存的ID和Token。如果你刚刚没保存还关闭了,那就再申请一个吧。
域名列表填写*.域名
电子邮箱填自己的邮箱,顺带一提,每个邮箱每周只能申请3次签名,所以实验次数太多会导致签不下来,到时候要换一个邮箱。
其余不做修改,点击添加即会开始添加证书。

等待一段时间后,就会自动完成证书的申请。此处还有证书有效期,不过到期之后也不用担心,在到期之前,Lucky会自动进行续签的。
这里说一下为什么要给*进行证书颁发,如果对*进行证书颁发的话,那么就会一次性对所有二级域名进行SSL证书颁发,到时候我们再进行反向代理,就不用依次对不同的二级域名进行证书申请了。

到这里就完成了SSL证书的颁发。
配置反向代理
点击Web服务——添加Web服务规则。
监听端口填高一点,低端口容易被别人扫到。起码要在30000以上。
打开TLS选项,这样可以启用SSL证书。
点击添加WEB服务规则。子规则我们后面再添加。

添加子规则
点击更多操作——添加子规则。
这里我们先添加飞牛的页面,如果你想添加Lucky后台页面或者其它页面也是相同的操作。
子规则名称建议填一下,方便后续分辨。
前端地址填想要反向代理的域名,我这里二级域名就填nas了。
后端地址填飞牛的本地IP包括端口号。
完成后点击添加子规则即可启用反向代理。

之后我们在浏览器界面输入域名即可访问到飞牛的后台页面了。
而且可以看到https已经生效了。
后续想添加其它页面可以添加子规则同理操作。

443端口的添加
443端口是比较特殊的端口,上面可以发现我们在输入二级域名后还需要输入端口号才能访问指定的页面,而443端口可以不用输入端口,只需要输入二级域名即可访问。
有些地区Ipv6的443端口是受限制的,但是部分地区是开放的,如果你也是开放的,那么有需要的话,可以往下看。
在飞牛中,443端口是被官方重定向占用的。因此需要进行一下设置,解放443端口。

点击系统设置——安全性——端口设置——高级设置
取消勾选重定向80与443端口,点击确认即可。

顺带这里说一句,为了你的安全最好还是修改一下默认的这两个端口号,改得高一点。以后所有暴露出来的端口号尽量不要使用默认的端口号,尤其是像SMB这种没有加密的服务更要注意不要暴露在公网。
完成后,443端口就被释放了,后面就按照上面的教程来就行了。
顺带一提,如果你的80重定向到443功能没有正常运行的话,只需要再添加一条如下的WEB规则就行。默认目标地址填写https://{host}{path}{args}

至此所有基础操作就结束了。如果你有更强的需求的话,可以去官方wiki看一下,能够实现的功能还有很多。
提醒
有些不重要的项目你可以使用443端口,例如Emby这样的。但是那些重要的后台页面例如飞牛管理界面尽量还是使用高端口,不然被扫到了就会惹上麻烦。
还有小伙伴说,既然是docker部署,是不是也可以同样的道理部署到群晖、威联通和openWRT上呢?那答案是可以的,但是我拿手边的R4S部署Lucky试过,不清楚是转发性能不够还是Arm架构的关系,效果不是很理想,速度非常慢,因此各位小伙伴尽力尝试一下,如果出现问题直接把docker容器给删了。