【小白保姆级教程】教你用ngrok实现内网穿透

我们自己开发的一个SpringBoot项目,在本地启动后,最常见的是使用http://localhost:8080/xxx来进行本地访问,或者通过http://局域网ip地址:8080/xxx来进行访问。上面这两种形式可以在本地或者局域网内访问,但并不能在公网上访问。如果我们需要在答辩上演示,或者只是将项目给朋友使用一下(比如使用内网穿透将数据库放在公网上,然后可以远程访问数据库),租用一个服务器有点贵,也比较麻烦,那我们可以使用一些内网穿透的小工具实现项目在公网上访问。

目录

1.启动本地项目

2.ngrok安装和内网穿透的搭建

登录ngrok官网

下载ngrok的安装包 

内网穿透

注意事项 

1.不要泄露Authtoken,若泄露请及时清除和更换

2.关闭黑色框框,或者在黑色框框那里Ctrl+C停止服务,用完一定要关服务,否则别人可以访问,不安全。

3.静态固定域名的配置


1.启动本地项目

我这里启动了SpringBoot(其他的如flask也行,反正最后要操作的是端口号),本地访问的地址是http://127.0.0.1:8080/upload.html,这个8080端口是要提供给公网访问的。

2.ngrok安装和内网穿透的搭建

为什么使用ngrok:我感觉这个操作比较简单,适合入门,免费使用(需求少的话就不需要购买它的付费服务)

访问ngrok的官网:ngrok | API Gateway, Kubernetes Networking + Secure Tunnels

登录ngrok官网

可以使用Github或者Google账号进行登录(qq邮箱这些应该是不行的,其他博客有提到过)

 登录成功后进入下面这个页面

下载ngrok的安装包 

进入这个页面后,选择“SetUp&Installation”,以Windows为例,选择Windows的安装包,点击“Downloaded”,选择64位的安装包(目前电脑一般都是64位,可以在设置-->系统-->系统信息中查看,如果显示的是32位那就下载32位吧)

将下载好的Zip解压

 点开文件夹,找到ngrok.exe,双击打开

 呈现出类似这样的页面

内网穿透

回到官网的“SetUp&Installation”界面

找到类似"ngrok config add-authtoken xxxxx"这段命令行,复制它,粘贴到之前启动的黑色框框中

  出现“Authtoken saved to configuration xxxx”,说明成功添加当前用户的身份验证令牌,你的账号信息已经保存到本地的ngrok的配置文件中了

 继续回到官网中

复制上面的这段命令,ngrok http http://localhost:8080,当然了,其实输入ngrok http 8080也是可以的,端口号要改成自己实际启动的端口号,我SpringBoot的项目改成占用8088端口,那就要改成ngrok http 8088了

还可以指定区域的服务器:ngrok http 8080 --region=jp

  1. us:美国(默认区域)

  2. eu:欧洲

  3. ap:亚太地区

  4. au:澳大利亚

  5. sa:南美洲

  6. jp:日本

  7. in:印度

有时候要自己指定一下区域,因为有时候可能会报Session Status reconnecting (failed to send authentication request: EOF),自己指定一下区域就可以正常启动内网穿透服务了,如果还是不行,网上搜索看看,一般会有解决方案

内网穿透成功,分配给了我们一个可以供公网访问的URL,而且还是https呢,复制这个URL,去到浏览器输入https://31fb-240e-47e-3258-1722-49b6-48be-dcfa-e5bd.ngrok-free.app/upload.html ,点击Visit Site就可以进入页面了

 同样,不是局域网内的手机也可以访问,说明确实可以提供给公网访问,内网穿透有效。

使用内网穿透访问数据库

本来想使用ngrok用tcp来连接数据库,但发现有这样的限制
You must add a credit or debit card before you can use TCP endpoints on a free account. We require a valid card as a way to combat abuse and keep the internet a safe place. This card will NOT be charged

您必须先添加信用卡或借记卡,然后才能在免费账户上使用 TCP 终端节点。我们需要一张有效的卡,以打击滥用行为并保持互联网的安全。此卡不会被扣款

既然这样,那我只好使用coplar来进行数据库连接了,coplar的命令跟ngrok差不多,并且coplar还提供了webui,操作更简单。

 启动webui,webui占用了本地的9200端口

 创建好隧道后,点击在线隧道列表 

打开需要连接数据库的应用

 接下来就可以操作数据库了 ,用完一定要把这个隧道关闭或者删除

注意事项 

1.不要泄露Authtoken,若泄露请及时清除和更换

2.关闭黑色框框,或者在黑色框框那里Ctrl+C停止服务,用完一定要关服务,否则别人可以访问,不安全。

3.ngrok静态固定域名的配置

每次启动服务,这个域名是随机分配的,不利于我们持续访问,因此需要进行静态域名的配置

点击Domains,选择Create Domain,免费的服务就只能创建一个固定域名了

网站会分配给我们一个静态域名,复制那行命令,粘贴到黑色框框中就好了

ngrok http --url=squirrel-intimate-lion.ngrok-free.app 8080

ngrok http --url=squirrel-intimate-lion.ngrok-free.app 8080 --regin=eu

同样这种方式下也是可以指定区域的,如果eu这个区域不行就换另一个区域,jp,us,in这些都换着试一试

 还有其他很多可以进行内网穿透的小工具,比如开源的FRP(Fast Reverse Proxy),花生壳等,大家可以去网上找找。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值