群晖NAS反向代理 + 内网穿透 = 无需端口访问内网所有服务无需端口

前言

前几天看到

Vedio Talk

更新了一篇文章和 Vlog ,标题为

利用群晖反向代理服务器实现外网访问内网无需端口号

,这可是所有国内群晖用户最基础最刚性的需求.出于好奇看了下文章和 Vlog ,原来教程是基于用户家庭宽带拥有443端口的前提,而国内几乎95%以上的家庭宽带都被

封了80/443

端口,所以此方法对于大部分用户来说没并没有参考价值.

不过文章和 Vlog 中提到的

群晖反向代理

确实是解决此需求的重要服务,本站也有多篇文章提到反向代理的使用.基于国内大部分

80/443

端口被封的用户,想实现无端口访问,即使宽带拥有公网IP,也必须结合

内网穿透服务

来使用.这是一种妥协的解决方案,牺牲访问速度来提升域名无端口访问的体验.

本文将图文介绍如何来使用群晖NAS的反向代理功能配合内网穿透,来实现外网通过域名访问内网所有设备,服务,都无需加端口.

授人以渔

本文大量 干货 + 原理 + 图文教程 ,希望以讲解原理来使新手用户能够自己学会配置.如果能完全理解本文,那么群晖所有的外网访问配置都能够轻松解决.

本文为 Stille 原创文章.经实践,测试,整理发布.如需转载请联系作者获得授权,并注明转载地址.

原理解释

端口

几乎任何设备的通讯都是基于

IP+端口

的方式才能交互.IP通过域名解析替代了,方便记忆和输入.而端口是通过

http/https协议标准

来省略输入.
当你访问

http://www.ioiox.com

时,实际上是访问

http://服务器IP:80

当你访问

https://www.ioiox.com

时,实际上时访问

https://服务器IP:443

所谓的

无端口访问

其实是各浏览器遵循

http/https协议标准

帮你省去输入

80/443

端口的步骤,这也是为什么运营商不允许家庭宽带架设个人网站

从而封闭 80/443 端口

的原因.当然你可以使用其他端口来架设网站,但是浏览器却无法帮你省去端口号,必须使用例如

http://www.ioiox.com:1234

的方式来访问.

http 80 和 https 443

http

协议标准端口为

80

,

https

协议标准端口为

443

.一个网站或者 web 服务是

同时支持

http 和 https 两种协议,目前已经慢慢普及 https 的加密协议,本文不再详细介绍,请自行搜索研究.

http://www.ioiox.comhttps://www.ioiox.com 访问的是同一个站点,大部分情况下站长都会配置强直跳转,使 http 自动跳转到 https ,确保都是使用 https 安全加密协议.

反向代理

一台设备或者服务器拥有

65535个

端口号,而

80/443

端口只有一个,当你设备中部署了一个网站使用了

80/443

端口后,那么其他服务和网站是无法在使用

80/443

端口的.这时就需要

反向代理服务器

来解决.
群晖反向代理服务器 首先占用群晖NAS的

80/443

端口,使用任何域名无端口访问(上面提到过无端口即是用 80/443 端口),都会访问到反向代理服务器,由它根据来访域名再次转发给本机或者内网其他的服务.

例如普遍的VPS服务器安装的 nginx 就是反向代理服务器,所以一个服务器是可以配置多个网站同时使用 80/443 端口的,群晖中的 Web Station反向代理服务器 都是使用的 nginx.

内网穿透

前言已经明确家庭宽带是没有

80/443

端口的,那么上文提到反向代理服务器是使用

80/443

端口,外网是无法访问到的,那么就需要配合内网穿透服务来使外网能够访问到群晖的反向代理服务器的

80/443

端口.
内网穿透需要一台拥有

公网IP

80/443

端口的服务器,一般云服务商提供的VPS服务都可以满足需求,并部署 frps 服务器端.下文简称为

frp服务器

.所以当你想访问内网的网站,实际上是先访问到

frp服务器的80/443端口

,在由

frp 服务器

转发到内网的

群晖反向代理服务器

80/443

端口,在由

群晖反向代理服务器

转发给

5000/5001/3001/80

等端口.

小结

由此可见,其实内网穿透

frp 服务器

本身也是一个反向代理服务器,高级用户完全可以无需使用群晖的反向代理服务器,直接在

frpc.ini

中配置各个域名和内网端口即可实现.

但是我发现很多新手用户对

frpc

的使用并不熟悉,而且部分服务例如本文提到的

人人影视

以及本站推荐的

Bitwarden

密码管理服务都没有原生提供

https

支持,虽然

frpc

是可以配置证书的,但对于新手来说更加复杂,所以才有了本文这种以群晖反向代理为核心的方案:

  • 内网穿透
    frp服务器

    提供

    80/443

    端口穿透.

  • 群晖反向代理服务器提供
    https

    SSL 证书

    支持,并提供反向代理到内网各设备和服务.

配置教程

前期准备

frp服务器

准备

frp 服务器信息

,本站已提供免费服务.详情参考:FRP内网穿透专栏.
获取

服务器地址

,

端口

,

Token

.

  • 服务器地址:free.frp.ioiox.com
  • 端口:7007
  • Token:www.ioiox.com

配置域名

配置例如

*.ioiox.com

的泛域名,

CNAME

指向

frp 服务器地址

.其含义是指访问任何二级域名都是访问到

frp 服务器

,由

frp 服务器

转发到内网群晖反向代理服务器.
群晖NAS反向代理 + 内网穿透 = 无需端口访问内网所有服务无需端口

配置内网穿透

内网穿透客户端

frpc

的安装参考FRP内网穿透专栏一文中的客户端 frpc 安装教程汇总,推荐使用

docker

方式安装.

配置

frpc.ini

如下:

[common]
server_addr = free.frp.ioiox.com
server_port = 7007
token = www.ioiox.com

[http_xxxxxxx]
type = http
local_ip = 192.168.1.4
local_port = 80
custom_domains = *.ioiox.com

[https_xxxxxxx]
type = https
local_ip = 192.168.1.4
local_port = 443
custom_domains = *.ioiox.com

第一段表示

frp 服务器信息

,填写本站免费 frp 服务器信息.
第二段表示使用

http

80

端口访问任意

*.ioiox.com

的二级域名,都转发给内网群晖的反向代理服务器的

80

端口,此处

192.168.1.4

为群晖内网IP.
第三段表示使用

https

443

端口访问任意

*.ioiox.com

的二级域名,都转发给内网群晖的反向代理服务器的

443

端口,此处

192.168.1.4

为群晖内网IP.

1271003342

此时内网穿透配置完毕,访问例如 nas.ioiox.com , rrshare.ioiox.com 等任意二级域名,frp 服务器都会转发给群晖反向代理服务器,由反向代理在去分配访问 DSM 还是人人影视.

配置群晖反向代理

控制面板 – 应用程序门户 – 反向代理服务器

新增 nas.ioiox.com

参考下图分别配置

http

https的

反向代理,表示当群晖反向代理服务器收到

http://nas.ioiox.com

的请求时,转发到群晖 DSM 的

http

内网地址

192.168.1.4:5000

.
3534640384
收到

https://nas.ioiox.com

的请求时,转发到群晖 DSM 的

https

内网地址

192.168.1.4:5001

1854879688

新增 rrshare.ioiox.com

参考下图分别配置

http

https的

反向代理,表示当群晖反向代理服务器收到

http://rrshare.ioiox.com

的请求时,转发到人人影视的

http

内网地址

192.168.1.4:3001

.
1411539805
收到

https://rrshare.ioiox.com

的请求时,由于人人影视的 docker 没有提供

https

端口,同样可以使用反向代理转发到人人影视的

http

端口

192.168.1.4:3001

2220020157

新增 openwrt.ioiox.com

参考下图分别配置

http

https的

反向代理,表示当群晖反向代理服务器收到

http://openwrt.ioiox.com

的请求时,转发到路由器的

http

内网地址

192.168.1.1:80

.
2735055123
收到

https://openwrt.ioiox.com

的请求时,同样可以使用反向代理转发到路由器的

http

端口

192.168.1.1:80

1260688279

完成配置

你可以根据需求自行在此配置更多反向代理设置,可以代理内网的任何设备,例如群晖NAS,路由器,虚拟机,树莓派等等.同时反向代理服务器还可以为不提供 https 支持的服务提供

https

SSL 证书

.
84526676

配置证书

配置完成后在 安全性 – 证书 中把新增的反向代理配置相应的证书.
4170778023


结语

本站关于

内网穿透

反向代理

相关教程已经覆盖的比较全面,更多相关信息请参考:


本站提供免费和付费的技术支持.你可以通过留言,邮件,TG群的方式来技术交流和免费咨询.同时也可以付费支持的方式获得相关的技术支持,项目部署配置等服务.具体相关详情请点击查看 技术支持页面

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享