Ngrok 实现内网穿透教程

ngrok是什么我这边就不多介绍了,百度一找一大堆。你可以把它理解为内网穿透的工具。(简而言之就是将内网IP映射成对外可访问的域名)
 

Ngrok使用流程如下:

从https://ngrok.com/  下载ngrok ,然后注册一个账号并获取官方分配一个密钥

密钥获取方式:

                       

     使用cmd 到ngrok.exe的目录,命令: ngrok -authtoken 密钥 -subdomain  二级域名 端口

访问http://aaa.ngrok.com就可以了。

访问https://ngrok.com/dashboard 可以管理密钥。

---------------------------------------------------分割线--------------------------------------------------------------------

介绍的很简略,因为上面的其实并不是正题,还有更简单的实现方式,就是使用国内的Ngrok,网速更快,配置方面也更简单。下面介绍下国内的 Sunny-Ngrok使用教程:

国内Ngrok官网:https://www.ngrok.cc/

注册账号后,可以直接添加隧道(此处我使用的是google浏览器):

关于开通隧道已经有详细的教程了:https://www.sunnyos.com/article-show-67.html

附上我开通的隧道截图:

下一步就是点击上图的客户端下载:https://www.ngrok.cc/download.html,下载自己系统对应的客户端。

解压之后执行 “Sunny-Ngrok启动工具.bat”脚本,输入你的隧道ID,出现如下界面:

此时只要访问http://wangcw.free.ngrok.cc就会转发至我本机的127.0.0.1:18080。
————————————————
 


ngrok的使用步骤如下:

1. 进入ngrok官网(https://ngrok.com/),注册ngrok账号并下载ngrok;

2. 根据官网给定的授权码,运行如下授权命令;

授权码

 

授权命令

ngrok authtoken 授权码

授权码和账户是绑定的,在授权命令运行后,ngrok会将授权码保存在~/.ngrok2/ngrok.yml中,所以只需要运行一次,以后都可以使用。

3. 根据需要,运行命令开发端口。

ngrok http 8080

需要注意的是,这里的端口8080可以根据需要替换成其他端口。这条命令的意思是将本地8080端口对应的服务暴露到外网中。
运行后将出现如下结果:

Forwarding,第一个是http协议对应的外网地址,第二个是https协议对应的外网地址。这样,凡是访问http://110357ac.ngrok.io的请求都将发送到localhost:8080。

4.其他

每次启动ngrok都会分配一个新的外网域名,所以需要每次更换配置或者更换访问地址,不太方便。当然,ngrok也提供了解决方法,那就是付费,可以设置固定域名。


 

 

内网穿透 — 本地服务暴露到外网
因为开发的原因,总是需要临时将自己的服务暴露在外网。这个时候,在众多工具当中,发现一个小巧的 ngrok,点击这里 ➡️https://ngrok.com/download 先下载一个吧。

安装
因为我是苹果电脑,所以我选择了 Download for MacBook OSX 的版本,于是下载好的文件:

$ ls ngrok*
ngrok-stable-darwin-amd64.zip

可以解压安装了,我习惯将这些独立的小程序直接放在 /usr/local/bin 目录下。

$ unzip ngrok*.zip
$ mv ngrok /usr/local/bin/

这里的二进制文件 ngrok,你有可能需要 root 权限,自行用 sudo 解决吧。

检查是否安装好了。

$ ngrok -v
ngrok version 2.3.34

看到版本,即是安装成功。

配置工具的鉴权(Token)
点击这里 ➡️https://dashboard.ngrok.com/auth 登录到管理后台,没有账号的话,选用 Github 的三方登录是可以的。你就可以看到一个带有Token的命令,很像:

$ ngrok authtoken PUT_YOUR_TOKEN_HERE

对外网暴露内网服务
假设哈,我们已经开发了一个网页,并且启动在了 8000 端口上,先本地启动一下服务:

$ python -m SimpleHTTPServer 8000
Serving HTTP on 0.0.0.0 port 8000 ...

本地浏览器访问一下 http://localhost:8000 可以正常工作的话,那么开始把它暴露到外网上:

ngrok http 8000

你就能到这个

ngrok by @inconshreveable                                                                                                                          (Ctrl+C to quit)

Session Status                online
Account                       Wang Xiaoqiang (Plan: Free)
Version                       2.3.34
Region                        United States (us)
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://701d5f7c.ngrok.io -> http://localhost:8000
Forwarding                    https://701d5f7c.ngrok.io -> http://localhost:8000

Connections                   ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00

那么这个 Forwarding URL 就可以访问你自己的本地服务了哟:http://701d5f7c.ngrok.io。

Have Fun!

有任何疑问,欢迎交流,希望对日常的开发工作有所帮助哈。
————————————————
 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值