引言
在上一篇我提到使用nginx-proxy-manager来配置反向代理,然后介绍了一下nginx-proxy-manager的简单配置。但其实在使用nginx-proxy-manager之前,我最开始用的是lucky,也很好用,有些功能特别优秀。如果你正在寻找一款简单易用的工具来快速搭建起你的家庭NAS公网访问方案,比如说飞牛NAS,那么Lucky是一个很不错的选择。
什么是Lucky?
Lucky是一款由国内开发者创建的软硬路由公网神器,它不仅提供了强大的反向代理功能,还整合了动态域名解析(DDNS)和SSL证书自动申请及更新等特性。Lucky的核心程序采用Golang编写,确保了高效性和跨平台兼容性;其前端界面基于Vue3.2开发,提供了直观易用的操作体验。
为什么选择Lucky?
安全性:利用HTTPS协议保护数据传输。
便捷性:一站式解决DDNS设置、SSL证书获取等问题。
可维护性:容器化部署方式易于管理和升级。
和nginx-proxy-manager对比
Lucky除了基本的反向代理功能外,Lucky还具有网络存储模块,可以将阿里云盘等服务挂载到内部的WebDAV、FTP、FileBrowser和Web服务中,这为用户提供了一种便捷的数据存储和访问方式。而且还自带认证错误封IP等措施,非常的安全。
如何安装Lucky?
环境准备
需要一台具有公网IP的路由器或者NAS设备。
安装Docker环境。
最好能有域名
飞牛应用中心安装
飞牛应用中心自带的应用,可以很方便的安装,这里就不多说了。
Docker Compose部署
services:
lucky:
image: gdy666/lucky
container_name: lucky
volumes:
- 容器外持久化路径:/goodluck
network_mode: host
restart: always
详细可以参考:https://lucky666.cn/docs/install#docker%E9%95%9C%E5%83%8F
执行上述docker-compose命令后,即可完成Lucky的基础安装。
安装完成之后的重要的事情
修改默认的账号密码
默认登陆地址 : http://{IP地址}:16601
默认账号:666
默认密码:666
登录之后,首先还是尽量把密码更换成更加安全的密码,这里可以用vaultwarden来生成管理密码(最近搭了一个,感觉还不错~)
开启2FA验证,这里可以下载一个 Google的 Authenticator应用来。(如果不熟悉的话可以先忽略)
设置DDNS和SSL证书
在Lucky的Web界面中,按照提示添加您的域名信息并选择相应的DNS服务商进行验证。
选择Let's Encrypt作为CA颁发机构,自动获取并定期更新SSL证书。
配置DDNS毕竟简单,家里NAS的话最好是路由器拨号的模式。(当然,这个对于只需要反向代理功能来说可以不用设置)
ssl证书这一块和nginx-proxy-manager差不多,不过我选择的是zerossl证书颁发机构。可以换成Let's Encrypt。
添加完成之后,列表里面可以看到当前证书的时间范围,以及下载证书等选项。
配置反向代理规则(添加web服务)
这里的最佳实践是添加一个web服务,然后添加N条子规则,每条子规则用2级域名来区别,这样不用记住N个端口,也不用在服务器的安全组开放多个端口,而是记对应的二级域名即可。这个端口号可以填你喜欢的(注意:所谓隐藏端口只是http使用了80监听端口,https使用了443监听端口,除非你明确知道你的运营商没有禁用80和433端口,否则不建议使用这两个端口。)
这里假定你填写的端口也是 16666。
添加子规则时的前端域名是不包含 http(s):// 的,以我的域名为例,我可以写 aaa.lllyyb.com(记得在添加对应的域名解析),访问的时候只需要访问 aaa.lllyyb.com:16666 即可。
我比较喜欢这个安全设置的规则,可以设置多少次登录失败就封IP。以及单IP 多少次404就封IP。
安全入口
在设置这里可以设定一个安全入口,访问lucky后台会更加安全。原来默认登陆地址 : http://{IP地址}:16601,加上安全入口之后,登录地址变成:http://{IP地址}:16601/xxx
重定向
刚才加了web服务配置,默认是https的,如果直接在浏览器输入http的话,是访问不了的,这时候我们需要在额外添加一个重定向的服务。
新增一个web服务规则,监听端口号和上面的web服务保持一致,修改默认的规则,修改服务类型为 重定向。然后默认的目标地址修改为 https://{host}:{port} 。现在打开浏览器直接输入http的地址会自动跳转到https地址。
到这里,你的服务配置应该和我的差不多,恭喜你已经基本完成了。
更安全的ip白名单
在ip过滤这里可以设置自动记录ip白名单,简单来说就是设置了一个类似于安全入口的路径,你访问这个路径之后,系统会自动把当前ip设置成白名单,这样可以在web服务的认证可以设置仅白名单访问,进一步增加安全性。
配置webdav
这里我用的是默认配置,端口号是18800.
添加用户
注意:因为我这个是docker挂载目录xxx到容器的goodluck,这里webdav的本地路径写的是/goodluck/a ,需要在对应路径xxx手动创建a文件夹,lucky是不会自动创建的。
添加之后,可以打开对应的 ip:18800,可以看到正常的webdav界面。
这里有个需要注意的点,因为我是搭载飞牛NAS上的,这个指定路径的配置和alist的webdav配置不一样,直接写“/”就好。alist的话是需要配置/dav/xxx。alist的相关参考:
到这我们今天的文章基本上已经完结了,其实还有很多好玩的特性没有说。可以自己挖掘一下~有什么问题,也欢迎留言互动。
推广
现在腾讯云年底促销,最便宜的轻量服务器只要38块钱,3M带宽(换算是384k/s),在家里没有公网ip的情况下,搞一个云服务器用frp开个内网穿透岂不美哉~买它!买买买!
相关参考: