前置条件:域名映射或者DDNS已经配置好,申请好https证书并已上传到Lucky
家里有台小主机,由于看到说飞牛影视刮削不错,因此基于PVE搭建飞牛虚拟机,用了一下,还不错,最近有个需求,想在外面也能访问飞牛影视,一开始是基于VPS搭建反向代理,由于VPS要么在国外,国内阿里的主机又限制了带宽,考虑到家里的宽带有公网IP,打算直接基于域名+端口直连访问家里的主机,查了一下,目前有个Luck,就准备试试这个,记录一下相关配置过程。
一、配置反向代理规则
在Lucky页面左侧菜单栏点击【Web服务】,接着选择【添加服务规则】。
这里tcp4勾选上,监听端口选择16001,TLS选择启用。
此处选择端口是看你部署的Lucky部署后监听的端口是多少,一开始我参考别人的文章配置了的8881或者16666,都不行,后来才发现的监听端口配置错误,监听的端口查看方式是在Lucky页面左侧菜单栏点击【设置】,如下图所示:
接着添加子规则,给子规则进行命名,接着服务类型选择反向代理,用来访问NAS 可以填写nas.xxxx.com;这里填写nas+域名,后段地址填写:http://+ NAS局域网地址。
二、配置端口映射
然后去路由器配置端口映射,由于我使用爱快拨号,因此我去爱快设置了一下端口映射,配置好后即可使用域名+端口访问飞牛了。登陆爱快,【网络设置】——【端口映射】,打开端口映射页面,新增一条映射记录,配置如下图所示:
保存后就好了,在浏览器中输入域名和端口,查看访问效果
示例:https://nas.tcxurun.cn:35666/
至此我们已经完成了最基本的反向代理设置
三、配置HTTP重定向
在开启HTTPS后 直接输入域名访问可能会失败
因为在不指明协议的情况下默认使用HTTP协议 我们当然可以手动加上https://
不过这样比较麻烦(也有的浏览器支持自动跳转到HTTPS)
更好的方法是设置重新定向规则 自动的将HTTP重定向到HTTPS上
创建重定向规则
1.添加一个新的WEB服务规则
2.规则名称可自定义 这里使用 HTTP重定向
3.监听类型全选
4.监听端口 与之前设置的反向代理规则使用相同的端口
5.保存规则
接着添加子规则
1.规则名称可自定义这里使用 一般重定向
2.服务类型选择 重定向
3.前段地址填写 所使用域名的泛域名 这里使用的是 *.ie12test.dynv6.net
4.后端地址填写 https://{hostAndPort}
5.打开 万事大吉开关
4.保存规则
后端地址中的 https:// 表示使用HTTPS协议
而变量{hostAndPort} 则表示 请求的主机名/域名以及端口
测试重定向效果
在浏览器中直接输入域名应该可以自动跳转到HTTPS
四、防范恶意扫描
来自网络扫描器的威胁
在完成了上述的设置后我们已经基本实现了安全的WEB访问
不过在互联网上运行着许多的自动化的端口扫描与刺探程序(网络扫描器)
它们全天候的扫描和记录着全球设备上开放的端口及其上面的服务
这主要发生在IPv4上 IPv4的地址数量较少 在除去各种特殊地址后就更少了
通过逐个IP和端口的扫描这些扫描器可以轻松扫描完全球的设备
当然这些扫描器并不知道 我们设置的前端域名 其应只会使用IP和端口来访问
固不能匹配上前端域名 这样一来藏在反代后方的真正服务不会被发现
只不过在默认情况下lucky在遇到没有匹配任何域名的请求时会返回一个404错误页面
尽管这个页面并不会泄露什么 即使是HTTPS也不用担心证书/域名泄露
当没有域名匹配时lucky会使用一张自签名证书 不用担心域名泄露问题
但是通过这个404错误页面 依然能发现该端口上有名为 lucky 的WEB服务在运行
比较理想的状态是nginx的 444响应 即不发送响应直接关闭连接。
在v2.10.5版本更新了 关闭连接功能 可以直接切断连接不发送响应。首先看看设置前后的区别截图
可以看到,在设置之前,报404,可以知道该端口上有名为 lucky 的WEB服务在运行,设置后就不知道了,具体设置如下:
编辑Web规则的默认规则,服务类型选择关闭连接即可,如果存在多条Web规则,则多条规则的默认规则都需要配置一下。