Ngrok

Ngrok

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-18 17:21:18

Ngrok的相关文章

ngrok免费映射外网工具

首先,我们访问ngrok的官网https://dashboard.ngrok.com/  由于最近国内封国外的网站比较严重,大家可以借助翻墙工具来访问. 我这里推荐一个每天都可以免费用一小时的翻墙工具,暴风加速器 ,大家可以自行去下载哈.如果一个小时用完了,可以继续注册另外一个号使用. 当开启暴风影音后,提示连接成功了,就可以访问ngrok的官网了.找到download点击下载. 下载好后,是个压缩包,我们解压就行.得到ngrok.exe.直接双击运行.得到如图所示的命令窗口: 我们可以看到上面

编译ngrok的Windows、Mac的客户端

ngrok是一个ddns服务,为内网机器绑定一个公网域名,方便开发调试远程接口(如微信开发). 之前博文里面写过如何安装ngrok,但是由于公司里面的研发工程师的笔记本有windows本和mac本,所以本次主要讲怎么生成windows.mac客户端. 准备工作:需要参考http://nanchunle.blog.51cto.com/9244770/1710295,安装完成ngrok 一.编译Windwos客户端 cd /usr/local/go/srcGOOS=windows GOARCH=am

微信公众号禁止设置ngrok地址的解决办法

最近想改一下以前测试公众号的地址为ngrok2的亚洲节点,结果提示安全问题,禁止设置.原来是微信把类似花生壳ngrok等这些地址都封了. 现在暂时用的解决办法是在外网服务器上做一个转发程序,只需一个handler using System.Configuration; using System.Diagnostics; using System.Net; using System.Web; namespace WechatProxy { public class WechatHandler :

微信公众号开发80端口映射之搭建ngrok服务器

说明 了解本文之前,最好先看前篇:<<微信公众号开发80端口映射解决方案>>.最近公司要搞微信公众号开发,需要解决80端口映射的问题,为了稳定可靠,只好自己搭建ngrok服务端.ngrok 是一个使用go语言编写的反向代理软件,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网穿透.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放. 环境和条件 服务器Centos6.8_x64+windows10_x64 一台有公网ip的服务器 域名解析到服务

java微信公众号开发----搭建ngrok环境

下载ngrok,一个能够在公网安全访问内网Web主机的工具 下载地址:http://download.csdn.net/download/u014252425/9389847,亲测可用 下载完成后,进dos,切换到ngrok所在目录,输入 ngrok -config ngrok.cfg -subdomain example 8080 显示下图: 表示映射成功,将127.0.0.1:8080映射到example.tunnel.qydev.com这个域名 在tomcat上访问地址为http://lo

映射-外网访问内网服务-ngrok和cisco路由做映射

一:软件解决 软件下载地址: https://ngrok.com/download ngrok-stable-windows-amd64.zip 使用: cmd ---CD..切换到软件目录 ngrok.exe 在弹出框输入:ngrok http 80   (80或者其他端口号,根据实际情况) 二:cisco路由做映射 步骤如下 登陆cisco en ,config 查看配置   show run 固定IP: ip nat inside source static tcp 10.10.1.253

ngrok相关知识

一. ngrok后台运行 nohup ./ngrokd -domain="xxx.xxx.xxx" & 二. ngrok开机启动 1.在ngrok的目录下,新建start.sh 内容为 path=/home/pi/web/ngrok nohup $path/ngrok -config $path/ngrok.cfg -subdomin *** 80 2. 把ngrok程序添加为系统服务 在 /etc/init.d目录下新建一个服务项目(ngrok) sudo vim ngrok

【动态域名解析工具】tunnel,国内版的ngrok,花生壳可以睡觉了

在笔者的系列微信开发教程中,有一个比较基础且重要的一节:微信开发的调试.在文章中我推荐了两种动态域名解析的工具用于将本地的开发环境部署成服务器,一种是花生壳,一种是ngrok,但毕竟我等屌丝用不起或者不愿意付费试用花生壳,导致花生壳经常来大姨妈(解析失败).而ngrok的服务器是国外的,而天朝的网络想必大家都懂的.那在这样的一个环境下,调试微信的时候显得特别不方便.无意中呢,看到tunnel这样一个工具,看了下官网的介绍后,觉得尝试使用下,最终让我觉得放弃使用花生壳和ngrok了.至于为何,那我

rapsbian下配置ngrok

访问https://ngrok.com,下载Linux/ARM版本的(因为PI为ARM的芯片,如果下载Linux版本的是无法正常使用的) 解压 $ unzip /path/to/ngrok.zip 注册ngrok帐号并登录,记下里面的Auth Token 创建/home/pi/.ngrok,内容如下(aaa为配置名,bbb为二级域名) auth_token: ******* tunnels: aaa: subdomain: "bbb" proto: http: 80 通过下面的命令可以

远程连接树莓派-ngrok

这里使用sunny分享的ngrok  官网https://www.ngrok.cc/ 下载文件到树莓派上面,在平台注册登录并开通一个TCP隧道,远程端口自己随便填写,本地填写127.0.0.1:22,22是ssh端口,如果需要外网访问vnc端口可以填5900,vnc开的:1窗口就是5901依次类推,然后访问是通过域名加你填写的端口,server.ngrok.cc:5901 这个主要是配置一下开机自启,安装supervisor apt-get install supervisor 进入目录新建配置