内网穿透(mac,window,linux通用)1分钟实现外网访
2019-04-10 本文已影响6人
编程小石头666
我们在做开发时,不想购买服务器,只想搭建我们本地的服务器,我们搭建的本地服务器只能供我们自己电脑的浏览器访问,或者处于同一个wifi下的手机访问,但是我们如果想让别人访问到我们的本地服务器,尤其做微信公号或者小程序开发时,想在微信里访问到我们在电脑上搭建的本地服务器。
我们就要做内网穿透了,内网穿透就是别人通过外网能够访问到我们本地的服务器。
先来说下市面上一些主流的内网穿透方法
穿透工具 | 入门简易度 | 价格 |
---|---|---|
Ngrok | 简单 | 免费/付费(几元每月) |
Natapp | 简单 | 免费/付费(几元每月) |
花生壳 | 简单 | 付费(偏贵) |
Ssh、autossh | 难 | 免费 |
Frp | 难 | 付费 |
Lanproxy | 难 | 付费 |
Spike | 难 | 付费 |
今天就来讲讲这几个配置比较简单的
Ngrok
- 项目主页:https://ngrok.com/
- 项目介绍: 一个通过任何NAT或防火墙为您的本地主机服务器提供即时访问、安全的URL的命令。类似花生壳,分为服务端和客户端,也可以自己搭建服务端。
- 使用教程:点击跳转
优点:傻瓜式配置,5分钟就能配置好,有免费式
缺点:配置在国外,每次访问会很慢
花生壳
- 项目主页:https://hsk.oray.com/
- 项目介绍:商业化比较成功的内网穿透。个人开发很不推荐,收费贵,企业可以考虑使用。
Natapp
- 项目主页:https://natapp.cn/
- 项目介绍:基于ngrok的国内的内网穿透工具,类似花生壳,有免费版本,比花生壳好。免费版本:提供http,https,tcp全隧道穿透,随机域名/TCP端口,不定时强制更换域名/端口,自定义本地端口。收费版本也就几元每月。
综合对比下这几个简单的内网穿透,我个人比较中意natapp,下面就来讲下natapp配置内网穿透的步骤。
一,官网注册
https://natapp.cn/
这个我不用说了,进官网注册就行
二,购买隧道(免费/收费都有)
image.png我们这里可以选择免费隧道,免费的需要实名认证,我这里是用了9元一个月的隧道(个人建议买这个)
image.png
配置信息先和我保持一致即可。
三,下载客户端
https://natapp.cn/#download
下载对应的即可
下载后,解压,然后把解压出来的文件放到一个目录里。
image.png
然后命令行里:cd /Users/qcl/packages/natapp 进入到你放置natapp文件的目录里。
再输入ls,查看natapp软件是否存在。
image.png
mac运行下面两步
- 进入到目录后输入下面命令行
chmod a+x natapp
是为所有用户开启执行命令 (如果不加这一步 也可以直接用sudo+第二步运行软件) - 然后输入
./natapp
这一步是运行命令
win用户直接双击.exe文件即可
image.png这里提示我们认证错误,错误是因为authtoker没有配置,所以我们需要在命令行里运行下面命令
./natapp -authtoken=你的authtoken值
而这个authtoken值,我们可以到管理后台去找
如箭头所指,就是我们想要的authtoken
然后命令行里运行
image.png
运行上面命令行时会出现下面结果
image.png
这就代表我们成功把外网
http://a11*********98.natapp.cc -> 127.0.0.1:8080
映射到我们本地的服务器了,这时候我们通过外网网址,就可以访问我们本地服务器了。
但是。。。。。。
image.png
natapp提供给我们的网址,不能直接访问,这时我们就要去做另外一个配置了。
绑定本站二级域名或自主域名后进行访问
之所以这么做,也是为了安全。
下面我们就继续来讲怎么绑定本站二级域名或自主域名。
- 如果你有自己的备案域名,可以参考官方文档
https://natapp.cn/article/beian -
如果你没有自己的备案域名,就需要再去注册一个二级域名了。
image.png
我这里拿自己的微信号,注册一个二级域名。
注册完二级域名后,再去修改隧道配置 -
点击配置
image.png -
选中二级域名
image.png -
修改成功后,我们的域名就会变成我们的二级域名
image.png -
然后再次在命令行里运行
image.png -
可以看到我们的域名已经变了
image.png
到这里我们就配置成功了,去验证下
image.png
手机微信访问
image.png
这时候我们就可以愉快的实现内网穿透了
这样外网就能轻松的访问到我们本地电脑的服务器了。
做微信开发时,就可以愉快的在我们本地做调试了。