家里的服务器也能像云服务器一样方便

时间:2021-11-07 阅读:129 评论:0 作者:zhushican

家里的服务器也能像云服务器一样方便

家里的服务器也能像云服务器一样方便

很多做技术的朋友们家里都会有一台自己的服务器,或者说是一台长期开机提供服务的设备,这台服务器可能是用来做NAS、可能是用来做测试、也可能是用来挂一些长期运行的服务的。但通常情况下,你在外面是没法直接使用这台服务器上的服务的,原因有很多,最典型的问题就是没有公网IP和端口受限,本文中所描述的操作,解决的是端口受限问题。

提示0:非常规操作,并不能做到在客户端什么都不做的情况下直接产生这种效果,也就是说还是不能做到让任意一个人直接通过域名访问家里服务器上的Web服务。

提示1:文中所描述的效果并不是通过第三方服务器进行转发做到的,而是直接访问你自己家里的服务器。

提示2:如果你的家宽无法获取到公网IP,请联系运营商切换成公网IP或使用打洞(内网穿透)技术让客户端与服务器直接建立连接,本文不能解决此问题。(如果有人需要的话后面也可以写一篇相关文章)

提示3:文中部分敏感词做了微调,阅读时请自行脑内转换。

众所周知,国内的网络运营商出于各种原因,对普通用户的网络体验进行了限制,本文开头所说的端口限制就是其中一个,这个端口限制指的是:即使你获取到了公网IP,你还是不能让一些常见的对外提供服务的端口对公网开放。而如果你自己想在公网的另一台设备上访问一个你服务器开放在80/443端口上的Web服务,并且这个服务只是自己或几个少数的人使用的时候,这个限制就很烦人了。

可能会有没接触过这方面的朋友会无法理解这个限制到底会导致出现什么问题,我给你讲个小故事吧:

有一天你在家里搞了个NAS,可能是群晖的或者是什么别的品牌的,甚至可能是自己拿开源项目搭的,总之这东西有个Web端,你可以直接在这个Web端上很方便地操作你的文件。

然后呢,你家里的网络是有公网IP的,可以在外网环境下直接访问这个NAS,但由于运营商的限制,虽然你已经有了公网IP,但是还是无法做到绑了个域名之后直接不带端口地在浏览器上访问(因为80和443端口都被封了),只能是把端口改成别的,然后像https://www.crawler-lab.com:1234这样访问你家NAS的Web端,很麻烦,是吧?

另外你还在你的NAS上搭了一个别的带Web端的服务,或者是你那本来就是个全功能的服务器,上面搭了什么Gitlab、NextCloud之类的各种服务。然后基于上面的情况,你想要在外网环境下访问这些不同的Web服务,就需要指定两个不同的端口,而且还得记着哪个端口号是哪个,因为你就算绑了子域名,也无法做到像https://git.crawler-lab.com这样访问,你的域名后面还是得加个指定的端口号,是不是发现更麻烦了?

家里的服务器也能像云服务器一样方便

这时候你了解到了FRP这个工具, 它可以帮你把流量通过一个中间服务器进行转发,这样只需要把域名绑在中间服务器上,直接访问中间服务器的80/443端口就可以做到通过域名直接访问家里服务器上Web服务的效果了。于是你使用FRP加上一个云服务器转发了你家里服务器上的两个Web服务,并且能通过https://git.crawler-lab.com和https://nextcloud.crawler-lab.com这样的方式直接访问了。


本文链接: http://www.zh-xm.com/post/9.html 转载请注明出处!

评论区 交流一下吧!

共有0条评论来说两句吧...

欢迎 发表评论: