没有云服务器?内网穿透了解一下
内网穿透又叫端口映射,用一句最简单的话来讲就是:将你的计算机所连接的私有网络映射到公网上,别人通过你给的域名或ip即可访问你本地的服务。具体的原理可参照百度百科
这么做可以实现各大厂商的云服务器(阿里云,腾讯云,百度云,华为云等)的效果,通过公网地址访问服务器
这里分享一些提供内网穿透的网站,前三种是我用过的,感觉都还不错(仅供参考):
- Sunny-Ngrok:免费版,带宽:10 Mbps,限速:128 Kbps,限流:无限,隧道数量:每种协议1条
- SAKURA FRP:免费版(需要支付一元实名认证),带宽:10 Mbps,限速:4 Mbps,限流:5 GiB+限速流量(进入该状态24小时后会进行流量重置并恢复限速至正常限速),隧道数量:5条
- NATTUNNEL:免费版(隧道每天停止),带宽:1 Mbps,限速:不限,限流:无限,隧道数量:1条
- 浮居内网穿透:免费版,带宽:5 Mbps,限速:5 Mbps,限流:5GiB,隧道数量:2条
- NATAPP:免费版,带宽:1 Mbps,限速:1 Mbps,限流:不限,隧道数量:0条
- 花生壳:免费版,带宽:1 Mbps,限速:1 Mbps,限流:1GiB,隧道数量:2条
- 网穿云:免费版,带宽:3 Mbps,限速:3 Mbps,限流:7天不限流量,激活后流量限制每月/1G,隧道数量:1条
- cpolar:免费版,带宽:不清楚,限速:不清楚,限流:不清楚,隧道数量:1条
- 路由侠:免费版,带宽:1 Mbps,限速:1 Mbps,限流:1GiB,隧道数量:2条
- 魔法隧道:积分兑换版,带宽:官网说100M,限速:不清楚,限流:不清楚,隧道数量:不清楚
下面,我就Sunny-Ngrok来分享一下服务器搭建,其实都大同小异,照着官方文档来,慢慢的就会了
这里我简单描述一下内网穿透的两个应用,一是服务器搭建,二是远程桌面的搭建
首先是服务器搭建,在此之前,我们得先开启本地服务器,这里以node为例,环境搭建,静态文件服务,本地文件上线,以及用到的懒加载案例在之前文章有说到,这里直接进入正题
开启本地服务运行懒加载案例,通过127.0.0.1访问网页,我这里是运行在VSCode插件(live server)下,当然也可以参照静态文件服务把项目运行在node服务下,首先保证网页和接口可以在本地运行访问
我的前端部分端口号是5500,后端接口端口号是1024
但是Sunny-Ngrok免费版的对http协议只提供一个端口的隧道,此时我们就要用Nginx进行端口代理了,Nginx配置可以参考Nginx文章,我这里的配置如下
server {
listen 10240;#监听端口
server_name localhost;
location / {
proxy_pass http://127.0.0.1:1024/;#反向代理后端接口
}
location /client {
proxy_pass http://127.0.0.1:5500/;#反向代理前端页面
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
此时通过输入http://127.0.0.1:10240/client/就会代理到http://127.0.0.1:5500/下,输入http://127.0.0.1:10240/会被代理到http://127.0.0.1:1024/下
下一步,注册Sunny-Ngrok账号,登录并购买免费服务器,配置服务器设置,最后下载穿透软件
下载完成后点击启动工具,在隧道管理中复制刚才新建的隧道id,粘贴到隧道软件中,并回车,进入到连接界面
此时刷新隧道管理界面,点击查看状态,可以看到,当前连接的ip,说明内网穿透成功
下一步,我们在新页面中打开赠送域名加路径,如:http://example.com/client/lazyLoad.html(example.com是赠送域名),打开后会提示输入账号密码。
输入http验证用户名和密码即可
但是此时懒加载请求的接口是本地的127.0.0.1,我们要修改为http://example.com/getList?len=1000,最后打开http://example.com/client/lazyLoad.html,显示以下效果
做到这里,服务器内网穿透的服务器搭建就完成了。
接下来,我们来尝试搭建一下远程桌面
和之前一样,购买新的免费服务器,并且配置tcp协议,这里有两点需要注意:
- 本地映射的ip不能使用127.0.0.1,而是使用局域网内的ip,通过ipconfig查看本机在局域网的ip并复制
- 远程桌面默认端口是3389
下面是我远程桌面的配置
隧道管理
最后和上面一样,运行内网穿透软件即可(可能会一直出现reconnecting提示,原因在官网文档中,我这的解决方法是在隧道管理中踢下线,然后多连几次)
我们可以使用另一台电脑或者手机版的远程桌面连接当前电脑(手机版可以去酷安),下面是用手机连接的效果
总结:内网穿透虽然比服务器要便宜,但是还要考虑自己电脑的电费和损耗,而且做服务器需要一直开着,所以,还是要对比,比较一下,选择适合自己的方案
希望这篇文章能帮助你