Ngrok 内网穿透神器(转载)
mac上配置web服务:
http://note.rpsh.net/posts/2013/11/27/osx-10-9-apache-server-php-mysql/
由于开发Web项目,经常需要将本地部署的网站让外网能直接访问到,最便捷的做法当然是在ADSL路由器上直接做端口映射,很不幸大部分运营商都屏 蔽了80等常用端口,曾经的做法是在公网一台VPS上架设OpenVPN,将笔记本和VPS连到一个虚拟局域网,再用iptables做端口转发来达到目 的,虽然可行,但速度比较慢,由于线路不稳定造成掉线几率较高。偶然发现还有个叫ngrok的神器专门做了这件事,不但提供了一个在外网能够安全的访问内 网Web主机,还能捕获所有请求的http内容,方便调试,甚至还支持tcp层端口映射,不局限于某一特定的服务。支持Mac OS X,Linux,Windows平台。
ngrok下载运行
体积很小,官网下载后直接解压得到一个二进制文件,在shell中执行./ngrok 80即可,默认会分配随机的二级域名来访问,转发到本机的80端口。可以通过-help参数来查看详细的说明,运行后如下提示:
ngrok (Ctrl+C to quit) Tunnel Status online Version 1.7/1.6 Forwarding http://****.ngrok.com -> 127.0.0.1:80(****为随机分配) Forwarding https://****.ngrok.com -> 127.0.0.1:80(****为随机分配) Web Interface 127.0.0.1:4040 # Conn 0 Avg Conn Time 0.00ms
提示online后,表示已经成功进行转发了.这时候运行http://****.ngrok.com或者https://****.ngrok.com都可以访问到127.0.0.1:80上。通过ngrok提供的web管理界面127.0.0.1:4040可以清楚看到当前有哪些连接,以及请求的 url,可以进行replay。

ngrok常用示例
- 采用自定义二级域名sqzr.ngrok.com转发到本机的80端口(首先需要在官方注册账号,注册完成后,会分配一个authtoken)。ngrok -authtoken kZeyT4j-Lc7H9cRbPZXq -subdomain sqzr 80
- tcp端口转发,这意味着可以在外网ssh到本机了,当然外网端口是随机分配的。ngrok -proto=tcp 22
- 转发到局域网其他的机器。ngrok 192.168.0.1:80
- 绑定顶级域名(付费才可用),在dashboard中添加域名,将域名cname解析到ngrok.com即可。ngrok -authtoken kZeyT4j-Lc7H9cRbPZXq -hostname test.sqzr.com 80
ngrok配置文件
ngrok可以将参数写到文件中,默认是放在~/.ngrok。(windows为:C:\Users*.ngrok)
tunnels:
client:
auth: "user:password"
proto:
https: 8080
ssh:
proto:
tcp: 22
test.dorole.com
proto:
http: 9090
这里定义了三个隧道,client表示转发http到本机8080,同时要求验证,ssh表示支持远程访问,第三个是绑定了域名转发到 9090。这时候只需要一个./ngrok start client ssh test.dorole.com即可快速启动这三个隧道服务。
每一个隧道的配置节点都有五个参数,proto,subdomain,auth,hostname和remote_port,每个隧道必须有 proto参数来指定本地地址和端口。auth参数用于在http(s)中身份认证,而remote_port用于在tcp隧道中指定远程服务器端口。如 果没有配置subdomain参数,ngrok会默认一个二级域名与隧道节点一样的名字。
配置文件中的其他参数
authtoken: abc123
inspect_addr: "0.0.0.0:8888"
tunnels:
...
authtoken用于设置登录ngrok的授权码,可以在ngrok首页的dashboard中查看到。inspect_addr用于设置监 听ip,比如设置为0.0.0.0:8080意味着监听本机所有ip的8080端口上。ngrok也支持自己架设ngrokd服务器,在配置中通过 server_addr: “dorole.com:8081″来指定自己搭建的服务器地址。设置trust_host_root_certs: true来支持TLS加密协议的证书信任。ngrok支持http proxy,可以将ngrok配置成一个http代理,这在本机网络受限制的地方用比较合适。
转载自:https://sqzr.cc/blog/2014/06/28/ngrok_nei_wang_chuan_tou_shen_qi/
Ngrok 内网穿透神器(转载)的更多相关文章
- ngrok内网穿透神器
ngrok类似国内的花生壳,可以将本地的内网映射到公网上,这样就可以做web开发,微信开发了.下面就介绍下ngrok是怎么配置的吧. 方式一: 一.打开ngrok的官网https://ngrok.co ...
- Ngrok 内网穿透利器
Ngrok是什么 Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.Ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放 为什么要使用Ngrok ...
- 内网穿透神器(ngrok)服务端部署【分享一台自己的ngrok服务器】【多平台】
Ngrok为何物 “ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道.ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放.”这是百度百科上给Ng ...
- ngrok内网穿透(微信调试:只试用于微信测试账号)
一.简介 ngrok:https://ngrok.com 功能:就是把外网地址映射到本地的内网地址 缺点: 1.免费版生成的域名是随机的(由于我是用于调试,就没什么关系,如果是正式生产环境可能需要一个 ...
- 内网穿透神器ngrok——将本地项目驾到外网
相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...
- 内网穿透神器ngrok
相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...
- 内网穿透神器ngrok(转)
相信做Web开发的同学们,经常会遇到需要将本地部署的Web应用能够让公网环境直接访问到的情况,例如微信应用调试.支付宝接口调试等.这个时候,一个叫ngrok的神器可能会帮到你,它提供了一个能够在公网安 ...
- ngrok内网穿透利器在windws下的使用
1.到官网下载windows版本:https://ngrok.com/download 2.解压,双击“ngrok.exe” 3.输入“ngrok http 80”,会随机给你分配域名.见下图. ng ...
- [svc]frp内网穿透
什么是穿透 可以任意暴漏内网任何服务,加入你在你的办公网络有台pc,可以上网就可以了, 你可以在你电脑上安装各类服务器, 暴漏如80 22等端口, 注意 这可以暴漏到公网哦, 在出口不做任何nat情况 ...
随机推荐
- C puzzles详解【13-15题】
第十三题 int CountBits(unsigned int x) { ; while(x) { count++; x = x&(x-); } return count; } 知识点讲解 位 ...
- C# DataGridViewComboBoxColumn 数据绑定
dataGridView1.Columns.Clear(); dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = ...
- windows phone上下文菜单ContextMenu的使用示例
新建一个WP项目,命名为contextmenu,然后往界面拖入一个ListBox控件listBox1,接着切换到XAML代码界面设置其属性,代码如下 <ListBox Height=" ...
- 64位操作系统弹出"Failed to load the JNI shared library “E:/2000/Java/JDK6/bin/..jre/bin/client/jvm.dll”
64位操作系统弹出"Failed to load the JNI shared library /..jre/bin/client/jvm.dll”,最大的可能就是jdk的版本问题.去你的C ...
- Java 8 Lambda表达式
Java 8 Lambda表达式探险 http://www.cnblogs.com/feichexia/archive/2012/11/15/Java8_LambdaExpression.html 为 ...
- Mongod(5):启动命令mongod参数说明
Mongodb启动命令mongod参数说明(http://blog.csdn.net/fdipzone/article/details/7442162) mongod的主要参数有: 基本配置 ---- ...
- LevelDB源码之五Current文件\Manifest文件\版本信息
版本信息有什么用?先来简要说明三个类的具体用途: Version:代表了某一时刻的数据库版本信息,版本信息的主要内容是当前各个Level的SSTable数据文件列表. VersionSet:维护了一份 ...
- 两种会话状态之Session会话
什么是Session 使用Cookie和附加URL参数都可以将上一次请求的状态信息传递到下一次请求中,但是如果传递的状态信息较多,将极大降低网络传输效率和增大服务器端程序处理的难度. Session技 ...
- U盘启动
2014.4.3修改 其实用U盘制作系统也可以下载一个软碟通UltraISO,就可以很方便的制作. ----以前的版本 用U盘装系统,很方便快捷,下面这个网站介绍的比较详细,于是自己整理了一下,作为收 ...
- DELPHI 单元文件结构
unit Unit1; interface {接口部分开始} uses {引用单元列表,这是可选的,如果包含必须紧跟interface关键字} {接口部分声明常量/类型/变量/过程和函数,这些声明对引 ...