最近在折腾飞牛NAS,只有 ipv6, DDNS和域名都配好了,结果发现一个很蛋疼的问题:局域网用 192.168.x.x:端口 访问应用秒开,但换成 域名:端口 却直接拒绝连接。
查了一圈才发现,可能是有些应用自带 Host 校验,发现请求头里的域名不在它的白名单里,就直接把连接掐断了。或者是之间听了 ipv4 地址。
为了解决这个问题,还是要用 Lucky 来做反向代理,监听 ipv6 端口,内部用IPv4去访问那个只监听IPv4的后端应用,再把结果返回。
1. 部署 Lucky
在飞牛的应用商店里直接安装 Lucky,保持默认配置就可以。
启动后,访问 http://NAS局域网IP:16601\ 就能进入管理面板(默认账号密码都是 666)。
2.添加 动态域名
lucky 支持的域名伤很多,国内外主流的都可以接入。
需要自己去获取对应域名商的 key 和 secret 填入。
3. 反向代理核心配置
进入 Lucky 面板-端口转发,添加一条反向代理规则,参数照着下面填:
- 监听端口:填你的应用端口(比如 18080),或者你想在外网用的其他端口。
- 前端域名:填你的域名(比如 a.1du.fun),不用带 http://\ 和端口号。
- 后端地址(目标URL):填 http://127.0.0.1:18080。
现在可以将你 ddns 域名直接访问拒绝的应用,都通过反向代理来接入。一个应用,一条规则。
搞定这些,你的 NAS 应用就可以愉快地通过域名在外网访问了。