Ngrok让你的本地Web应用暴露在公网上

1. Ngrok介绍

  Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。Ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。简单来说,利用 Ngrok 可以通过外网来访问部署在本地服务器的网站,它还提供一个 Web 管理页来监控 HTTP 通信报文,方便程序员发现问题、开发调试。另外 Ngrok 还支持 TCP 层端口映射,不局限于某一特定的服务。支持 Mac OS X,Linux,Windows 平台。

Ngrok 官方网站:点击这里

Ngrok 开源地址:点击这里

2. 应用场景

2.1 WEB开发

  作为一个 Web 开发者,有时候会需要临时地将一个本地的 Web 网站部署到外网,供他人体验评价或协助调试。传统的做法是利用花生壳等动态域名或自行搭建 VPN 做端口映射,而利用 Ngrok 几条命令就搞定。

2.2 微信开发

  在做微信开发的时候,需要经常用微信客户端调试系统服务功能,但是在开发阶段服务端程序一般是运行在本地服务器上。这样,微信在公网上在是没有办法访问到本地服务器资源的。解决微信本地开发的关键就是能够将本地服务IP映射到公网上,所以 Ngrok 对于在本地进行微信开发很有作用。

2.3 TCP端口转发

  TCP 端口转发,这意味着可以在外网 SSH 到本机了,当然外网端口是随机分配的。

3. 简单使用

实验环境:Windows7、Ngrok 2.1.3

Step1:首先去 Ngrok 官网去下载最新版本客户端。Windows版本下载解压后只有ngrok.exe一个文件,暂将其放置在D盘根目录下。

Step2:首次使用 Ngrok 服务需要先为本机安装authtoken。在 Ngrok 官网注册一个账号,在 Auth 菜单下获取官方分配的authtoken。(该步可省略,但是未注册用户不具备自定义域名等高级功能)

Step3:安装authtoken,按下Win+R键-->运行-->执行cmd.exe。进入到ngrok.exe的根目录下,输入如下指令:

ngrok authtoken <YOUR_AUTHTOKEN>

Step4:通过上述几步,现在就可以创建一个安全隧道,将本地服务IP映射到公网上。执行下面命令就可以为本机`localhost:8080`地址分配一个Ngrok官网下随机二级域名。

ngrok http 8080

Step5:从上图 Ngrok 服务开启后的状态可以看出` http://7a65105c.ngrok.io`就是生成的公网域名。但有个问题,它是随机生成的,每次启动 Ngrok 服务都会重新生成,在微信开发的时候很不方便。Ngrok 提供了解决方案,允许绑定自定义二级域名和顶级域名(收费功能),只要在ngrok.exe的根目录下执行如下命令:

ngrok http -subdomain=[二级域名] [端口]   //绑定Ngrok二级域名
ngrok http -hostname=[顶级域名] [端口]    //绑定自定义顶级域名

Step6:打开web界面在`http://localhost:4040`检查和重复请求,监控HTTP通信报文。

关于 Ngrok 就讲到这了,本人也是初次使用,很多高级功能未涉及。如果各位看官有需要请移步官方文档

4. 国内Ngrok服务

  Ngrok 是非常好的工具,但是它的服务器在国外,国内存在访问稳定性差、速度慢等问题。这个给国内的程序员带了很多不便。好在 Ngrok 是个开源项目,有些前辈或公司在 Ngrok 项目基础之上做了改进,提供了功能相似的国内 Ngrok 服务。

  • 相关推荐
  1. Sunny-Ngrok内网转发
  2. Ngrok国内免费服务器——糖果科技
  3. NATAPP 基于ngrok高速内网穿透服务
  4. pc5s - 互联网到个人电脑的反向代理

  其具体使用规则很简单,并且都有详细的文档或视频说明。

5. 参考与扩展

  [1] l631068264,Windows 下 配置 ngrok ngrok使用教程

  [2] 林泳坛,关于Ngrok的一些思考

  [3] 攀哥, 自建Ngrok服务与使用方法

时间: 2024-10-15 09:50:30

Ngrok让你的本地Web应用暴露在公网上的相关文章

【NGROK】快速实现本地Web服务到外网的映射

NGROK官网:https://ngrok.com NGROK百科:http://baike.baidu.com/view/13085941.htm?fr=aladdin 使用ngrok(Windows) 下载地址:http://files.cnblogs.com/zengweiming/ngrok.zip 使用: 解压ngrok.zip,例如:E:\mysoft\ngrok 使用命令行进入解压路径,运行:ngrok 8080(web服务器端口号) 然后ngrok会解析,生成外网映射路径.如下图

ngrok的使用-将本地Web服务映射到外网

主要是想调试微信,偶然看到 Visual studio 配合 ngrok ,在本地调试微信 才知道了Ngrok这个工具 但是需要FQ才能使用,就不能用于调试微信了,不过以后可能还用得着 记录一下我的实践: 下载地址 https://ngrok.com/ 1,修改IIS Express 配置 配置文件在我的电脑上是保存在了[文档]里的 D:\Documents\IISExpress\config\applicationhost.config 找到站点的<site>节点,添加了一句红色字体的,目的

使用ngrok将本地Web服务映射到外网

为什么要使用ngrok? 作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供它人体验评价或协助调试等等,通常我们会这么做: 找到一台运行于外网的Web服务器 服务器上有网站所需要的环境,否则自行搭建 将网站部署到服务器上 调试结束后,再将网站从服务器上删除 只不过是想向朋友展示一下网站而已,要不要这么麻烦,累感不爱╰(`□′)╯ 有了ngrok之后,世界是如此的美好 首先注册并下载ngrok,得到一串授权码 运行命令ngrok -authtoken 你的授权码 8

[020] Android模拟器访问本地Web应用

本篇文章试图解决这样一个问题:如何在Android模拟器上访问本地的Web应用? 例如,在你的开发机器上启动一个Tomcat服务,接着打开电脑上的浏览器,默认情况下输入http://localhost:8080/就能够访问到Tomcat的主页面:那么,如果我们想在Android模拟器上来访问,可以吗?答案是肯定的,但是访问的URL会有所变化,这又是为什么呢?请继续往下看.         在一般的Java Web程序开发中,我们通常使用localhost或者127.0.0.1来访问本机的Web服

手机APP应用外网访问本地WEB应用

手机APP应用外网访问本地WEB应用 本地安装了WEB服务端,手机APP应用只能在局域网内访问本地WEB,怎样使手机APP应用从公网也能访问本地WEB? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动WEB服务端程序 默认安装的WEB服务端的端口是80. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 2.2 获取holer access key信

本地Web服务器搭建

最近为了写一个小项目,搭建了一个本地Web服务器.目前用起来跟在网上申请的可限期使用的免费XX云服务器感觉差不多. 操作系统软件:机机Win7 64位,虚拟机Ubuntu16.04. 软件:Oraclde VM VirtualBox 5.2.26, Apache2, Putty 0.70 过程如下: 1.在本机上安装 VM VirtualBox,修改环境变量,方便命令行操作. 2.打开展VitualBox,新建虚拟机vm-name,内存分配1G即可,设网络连接方式为"网卡桥接". 3.

Centos8搭建本地Web服务器

1 概述 系统centos8,利用httpd搭建本地web服务器. 2 安装httpd sudo yum install -y httpd 3 启动服务 service httpd start 4 设置开机启动 先查看有没有设置开机启动: systemctl list-unit-files | grep httpd 没有的话设置: chkconfig httpd on 再确认一下: systemctl list-unit-files | grep httpd 5 访问 再浏览器输入内网ip地址(

使用ngrok将本地Web服务映射到外网----个人电脑变成服务器

1 .什么是ngrok ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放. ngrok 官网地址: https://ngrok.com/ 2 . 为什么要使用ngrok 作为一个Web开发者,我们有时候会需要临时地将一个本地的Web网站部署到外网,以供他人体验评价或协助调试等等,通常我们会这么做: 找到一台运行于外网的Web服务器 服务器上有网站所需要的环境,否则自行搭建 将网站部署到服务

使用ngrok将本地web项目发布到互联网

1.下载对应版本Sunny-Ngrok. 2.解压之后,点击启动工具,输入你的隧道id   (后面有得到的方法) 3.最后显示在线表示成功 4.以上的前提是需要得到一个隧道id,此时我们就需要在Sunny_Ngrok注册账号,建立隧道 5.最终会得到你需要的隧道id 6.现在你可以访问该网址了(需要项目服务器打开tomcat) 版权所有,出自http://www.cnblogs.com/ytlds