相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试、支付宝接口调试等。这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安全访问内网Web主机的工具,能捕获所有HTTP请求的内容,也支持TCP端口映射,支持Linux、Windows、Mac OS X 等平台。

  我们现在就来小试下牛刀,感受下 ngrok 的好玩之处。

一、ngrok 下载

  到官网下载ngrok小工具:https://ngrok.com/,工具体积很小,现在已经升级到 2.X 的版本,只支持64位操作系统,并被作者用于商业化。1.X版本的免费自定义固定二级域名功能已经开始收费,这块后面会说明。

二、ngrok 使用

 以windows版本为例,把下载的压缩包解压到本机硬盘,用 DOS命令切换到 ngrok.exe 所在的目录:

好了,接下来如何使用呢?我们来通过演示几个简单样例来说明:

输入 ngrok http 8001,回车,出现如下信息:

  意思是 ,随机分配一个公网可以访问的二级域名http://49412880.ngrok.io/ 转发到我们本机的8001端口 ,这也就意味着,现在访问 http://49412880.ngrok.io/ 就如同访问内网的http://127.0.0.1:8001。

  同时通过ngrok提供的管理界面(http://127.0.0.1:4040)可以清晰的看到当前有哪些连接、请求的URL等, 是不是很方便?但是上面分配的域名是临时且随机的,一旦本机重启或者ngrok重启后,这个域名就变化了。如何把一个固定的域名映射到本机呢? V1.X的版本是可以免费支持将一个固定的二级域名指向本机的,不过作者已经把 V2.X的版本商业化,所以固定域名的转发现在需要收费了,费用倒是不贵,有兴趣的同学可以去官网看看。

当我们的机器绑定了多个IP时,通过指定IP来转发映射:ngrok http 192.168.1.101:8006

也可以转发同一局域网内其它的主机和端口:ngrok http 192.168.4.6:8008

TCP端口转发:ngrok tcp 22

       ngrok tcp 3389  

这样我们可以在公网SSH到内网Linux机器,远程桌面到内网Windows机器了,当然外网端口也是临时随机的。如下图,我们已经在公网环境下远程到了内网windows机器上

怎么样,有意思吧。

三、ngrok小问题

  不过需要说明一点,ngrok的访问可能会不太稳定,原因你们都懂的,指不定哪天就被墙了。

内网穿透神器ngrok的更多相关文章

  1. 内网穿透神器ngrok——将本地项目驾到外网

    相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...

  2. 内网穿透神器ngrok(转)

    相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...

  3. Ngrok 内网穿透神器(转载)

    mac上配置web服务: http://note.rpsh.net/posts/2013/11/27/osx-10-9-apache-server-php-mysql/ Ngrok 内网穿透神器 由于 ...

  4. 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】

    Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...

  5. ngrok内网穿透神器

    ngrok类似国内的花生壳,可以将本地的内网映射到公网上,这样就可以做web开发,微信开发了.下面就介绍下ngrok是怎么配置的吧. 方式一: 一.打开ngrok的官网https://ngrok.co ...

  6. 内网穿透利器 Ngrok 使用教程

    ngrok 服务可以分配给你一个域名让你本地的web项目提供给外网访问,特别适合向别人展示你本机的web demo 以及调试一些远程的API (比如微信公众号,企业号的开发) 下面开始教程 Step ...

  7. [svc]frp内网穿透

    什么是穿透 可以任意暴漏内网任何服务,加入你在你的办公网络有台pc,可以上网就可以了, 你可以在你电脑上安装各类服务器, 暴漏如80 22等端口, 注意 这可以暴漏到公网哦, 在出口不做任何nat情况 ...

  8. Ngrok 内网穿透利器

    Ngrok是什么 Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.Ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放 为什么要使用Ngrok ...

  9. ngrok内网穿透(微信调试:只试用于微信测试账号)

    一.简介 ngrok:https://ngrok.com 功能:就是把外网地址映射到本地的内网地址 缺点: 1.免费版生成的域名是随机的(由于我是用于调试,就没什么关系,如果是正式生产环境可能需要一个 ...

随机推荐

  1. HTML渲染过程详解

    无意中看到寒冬关于前端的九个问题,细细想来我也只是对第一.二.九问有所了解,正好也趁着这个机会梳理一下自己的知识体系.由于本人对http协议以及dns对url的解析问题并不了解,所以这里之探讨url请 ...

  2. Atitit 项目语言的选择 java c#.net  php??

    Atitit 项目语言的选择 java c#.net  php?? 1.1. 编程语言与技术,应该使用开放式的目前流行的语言趋势1 1.2. 从个人职业生涯考虑,java优先1 1.3. 从项目实际来 ...

  3. 使用webstorm+webpack构建简单入门级“HelloWorld”的应用&&引用jquery来实现alert

    使用webstorm+webpack构建简单入门级"HelloWorld"的应用&&构建使用jquery来实现 1.首先你自己把webstorm安装完成. 请参考这 ...

  4. 获取微软原版“Windows 10 推送器(GWX)” 卸载工具

    背景: 随着Windows 10 免费更新的结束,针对之前提供推送通知的工具(以下简称GWX)来说使命已经结束,假设您还未将Windows 8.1 和Windows 7 更新到Windows 10 的 ...

  5. C#项目中文件的具体含义

    1.Bin 目录 用来存放编译的结果,bin是二进制binary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin ...

  6. Java开发中的23种设计模式详解

    [放弃了原文访问者模式的Demo,自己写了一个新使用场景的Demo,加上了自己的理解] [源码地址:https://github.com/leon66666/DesignPattern] 一.设计模式 ...

  7. ABP项目中使用Swagger生成动态WebAPI

    本文是根据角落的白板报的<使用ABP实现SwaggerUI,生成动态webapi>一文的学习总结,感谢原文作者角落的白板报. 1 安装Swashbuckle.core 1.1 选择WebA ...

  8. Javascript实践技巧

    最近辞职了,准备北上.期待有个好结果~   本文以<Javascript高级程序设计>为基础,结合自身经验来总结下Javascript实际工作方面的知识.   一.可维护性 1.代码约定 ...

  9. 巧用 mask-image 实现简单进度加载界面

    最近给 nzoo 折腾官网,拿 angular2.0 + webpack 实现SPA,然后觉得最终打包后的出口文件有点大,用户首次访问会有一个时间较长的白屏等候界面,感觉体验不太好. 于是希望在用户下 ...

  10. Vue.js——基于$.ajax实现数据的跨域增删查改

    概述 之前我们学习了Vue.js的一些基础知识,以及如何开发一个组件,然而那些示例的数据都是local的.在实际的应用中,几乎90%的数据是来源于服务端的,前端和服务端之间的数据交互一般是通过ajax ...