创作立场声明:所有内容来源于网上公开资料+自学,纯分享。如果对你有帮助,请支持鼓励我。
本文的前提是基于现有的公有IP,拥有自己可控的域名,并且在DDNS动态域名解析方面做得很好。
这个三点站有很多教程,大家可以自行搜索,这里就不赘述了。
配置反向代理后,我们还可以申请免费的ssl证书,为我们所有的服务设置https小绿锁。
可以看看这篇关于通用域名证书应用的好文章。"链接"
精力有限,所以本文只讨论反向代理。
可能有些人不太明白反向代理是什么意思。
简单来说,防代服务器可以看作是军队的一个信号兵,各种军种都是军区的兵。
军区不能随便进出,只能通过信使给居民收发信件。
外面的人不知道军区士兵的具体位置(具体IP端口),只知道士兵的名字或者代号(外网接入的域名),只能请军门口的通信兵代为转达。可以有多个也可以只有一个军门(外网口),全部由通信兵处理。
通信兵有一个笔记本,记下士兵的代码和士兵具体位置的对应关系,通过对应关系收发信件(传输数据)。
参考图(信号员的笔记本)
左边的红框是用于外网访问的域名+端口,右边的黄框是内网的各种服务(当然外网也可以,只要你的NAS可以访问这些域名+端口)。
左右两边相对应。
外网访问左边的域名+端口(外人写信到军区门口),逆向生成服务器(通信兵)接收请求,比较规则(笔记本),将访问指向左边的IP+端口(战士位置)并返回相应的响应(回复)。
这个很好理解。
我们只需要通过二级域名来区分,就可以使用反向服务器通过单个端口访问N个服务。
假设我的一级域名是Baidu.com。
我可以加无数个二级域名来对应每个服务。
例如
对应qBdown.baidu.com qB下载客户端
qBup.baidu.com相应的qB种子保存客户
Tr.baidu.com对应tr下载客户端
Nas.baidu.com对应群慧管理webUI
管理与unraid.baidu.com un raid对应的webUI
Photo.baidu.com对应群辉摄影站
emby.baidu.com相应emby服务器的webUI
等等
理解了以上,下面的操作就很简单了。
让我们做一些实际练习。
现在我的内网IP网段是192.168.3.X
我通过OP增加了一条新路由,IP 192.168.3.2。
要分配给它的域名是openwrt.xxxx.top
首先我们打开域名的DNS控制台(这里以DNSPOD为例,其他域名服务商的管理操作基本相似)
添加CNAME记录
主机记录用openwrt(即二级域名openwrt.xxxx.top的前缀)填充
选择CNAME作为记录类型
记录值填写在我们使用的二级域名DDNS中。我是ddns.xxxx.top在这里。
CNAME记录意味着该记录直接指向现有的域名。
我们指向用作DDNS的二级域名,访问CNAME记录域名的结果和访问被指向的域名的结果是一样的(都是访问你的公共IP)。
添加二级域名后,我们来到群汇反向代理服务器的设置界面。
6.x系统设置路径是
控制面板-应用程序门户-反向代理服务器
7.x系统设置路径是
控制面板-登录门户-高级-反向代理服务器
添加代理规则(在信号员的笔记本上添加相应的列表)
规则很好理解,就是把上游源的域名+端口指向下游目的地的IP(域名)+端口。
根据我的预期配置,二级域名openwrt.xxxx.top通过端口5555定向到旁路路由的服务IP192.168.3.2+端口。
填写目的地规则,以绕行路线为例。我们可以通过http协议或者https协议来访问它。如果是http协议访问,规则是选择http 192.168.3.2的端口80;如果是https协议访问,选择https 192.168.3.2端口443为规则,可以实现所有访问。
根据需要访问的服务的IP和端口填写即可。
对了,我们平时访问的网站大多不需要输入口。但不代表不需要端口,只是浏览器默认不显示。如果是http协议,默认不显示端口80;如果是https协议,默认不显示端口443。
例如,我们通常访问的网站www.baidu.com实际上访问了https://www.baidu.com:443。
比如我们在内网访问华硕路由,只需要输入IP 192.168.50.1,实际上我们访问的是http://192.168.50.1:80。
填充规则后,我们将选项卡切换到自定义标题。逐步添加websocket,避免各种疑难杂症。
群辉是傻瓜式的加法,很方便。之后确认保存后生效。
重点来了。为了正常访问外网,必须保证反向代理服务器使用的端口可以连接(军门要开!否则通信兵收不到信!)。
这里我用的是端口5555,所以我必须保证端口是开放的,也就是说我必须转发这个端口。
也可以使用其他端口,可以自己定义。如果你的80、443端口没有被阻塞,也可以通过逆向生成实现各种业务的无端口访问。
带有配置路由到端口5555的转发规则已完成。
完成后,切换到外部网络环境测试。
打开配置好的二级域名。成功。
如果想添加其他反代项目也很方便。
例如,我在另一台设备上构建了一个emby服务器。IP是192.168.3.131,端口是8096。
同样,我们来到域名管理,添加一个新的二级域名,并使用CNAME记录。
我在这里设置域名为myemby.xxxx.top
然后回到群惠的防代配置页面,添加防代规则。
同理,将二级域名指向目标服务。
这里我点myemby.xxxx.top:5555到192.168.3.131:8096。
记得加websocket
完成后确认。
切到外网环境测试,成功。
通过增加反向代理的配置,我们可以通过一个端口访问N种业务,而不是为单个设备或单个业务开放很多端口。
只要是生成服务器可以访问的服务,我们都可以通过配置来代理。
不限于内网服务,大家可以慢慢消化理解,举一反三。
参考配置
本文由社区作者@什么值得买转载。本文内容仅代表作者观点,与本网立场无关。未经授权,请勿转载。