文档章节

ngrok平台搭建

罗布V
 罗布V
发布于 2016/11/13 21:44
字数 1024
阅读 147
收藏 0
点赞 0
评论 0

ngrok 搭建

之前反向代理的功能一直使用其他人搭建的服务来进行微信的开发,但是最近一段时间特别的不稳定,正好手里还有一台空闲VPS和域名,所以就萌生自己搭建服务器的念头。

编译 ngrok

我的系统是ubuntu 16.04 LTS版本的,在编译之前我们需要安装以下的工具

sudo apt-get install build-essential golang mercurial git

获取ngrok的源码

https://github.com/inconshreveable/ngrok.git ngrok cd ngrok

在使用之前特地注册了一个域名ngrokc.top来映射vps的IP,在编译的时候我们需要将证书替换成自己新生成的,在创建证书的时候需要将域名修改成自己注册的域名。(之后使用的过程当中会利用这个证书来进行数据的加密,来保证安全性。

NGROK_DOMAIN="ngrokc.top"
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt

cp base.pem assets/client/tls/ngrokroot.crt

进行上面的操作之后,接下来我们就需要进行编译

sudo make release-server release-client

操作完成之后在bin目录下面会产生二个可执行的文件ngrokc(服务端)和ngrok(客户端)程序

为了能够让自己的客户端运行在不同的平台上面,我们要根据自己要使用的平台来分别使用下面的某一项指令进行操作。

//生成windows客户端

sudo GOOS=windows GOARCH=386 make release-client

//生成Linux客户端


sudo GOOS=linux GOARCH=amd64 make release-client

//生成树莓派客户端

sudo GOOS=linux GOARCH=arm make release-client

服务端

前面生成的ngrokd就是服务端的程序,我们在运行时需要通过参数来指定证书、域名和端口

sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="ngrokc.top" -httpAddr=":8081" -httpsAddr=":8082"

执行上而把操作之后,我们的服务端也正式启动起来了,可以通过观察屏幕来获得更多的信息。httpAddr、httpsAddr分别是ngokc用来转发http和https的端口,可以根据自己的需要随意更改。同时默认开了一个4443端口用来与客户端的通信。

现在我们可以通过 https://server.ngrokc.top:8081https://server.ngrokc.top:8082 来访问转发的服务,倘若你在浏览器当中输入以上的任意域名会输出下面的语句,表示你的服务已正式启动。

Tunnel server.ngrokc.top:8081 not found

客户端

启动客户端通过可以采用两种方式

  1. 直接通过参数的方式来指定需要映射的端口
  2. 通过配置文件方式来进行指定相应的端 下面是一个ngrok的配置文件,其中server_addr是指定ngrok服务端的地址和通讯的端口,同时我们也映射了两个tcp的端口。

ngrok.cfg配置文件

server_addr: ngrokc.top:4443
trust_host_root_certs: false

tunnels:
  ssh:
    subdomain: server
    proto:
      tcp: 22
  aria2c:
    subdomain: server
    proto:
      tcp: 6800 

启动方式

#调用下面的语句会自动从服务端生成两个端口用来映射本地的22和6800端口
./ngrok -config=ngrok.cfg start ssh aria2c 

指定多个配置文件

ngrok可以指定多个配置文件,同时将几个配置文件进行合并然后从第一个配置文件开始逐步进行映射。

ngrok start -config ~/ngrok.yml -config ~/projects/example/ngrok.yml demo admin

启动全部的通道

ngrok可以指定--all和--none来指定启动全部的通道或者不启动任何通道。

ngrok start --al #启动全部的通道 ngrok start --none #不启动任何的通道

示例配置文件

authtoken: 4nq9771bPxe8ctg7LKr_2ClH7Y15Zqe4bWLWF9p
region: us
console_ui: true
compress_conn: false
http_proxy: false
inspect_db_size: 50000000
log_level: info
log_format: json
log: /var/log/ngrok.log
metadata: '{"serial": "00012xa-33rUtz9", "comment": "For customer alan@example.com"}'
root_cas: trusted
socks5_proxy: "socks5://localhost:9150"
update: true
update_channel: stable
web_addr: localhost:4040
tunnels:
 website:
   addr: 8888
   auth: bob:bobpassword
   bind_tls: true
   host_header: "myapp.dev"
   inspect: false
   proto: http
   subdomain: myapp
 
 e2etls:
   addr: 9000
   proto: tls
   hostname: myapp.example.com
   crt: example.crt
   key: example.key
 
 ssh-access:
   addr: 22
   proto: tcp
   remote_addr: 1.tcp.ngrok.io:12345

© 著作权归作者所有

共有 人打赏支持
罗布V
粉丝 13
博文 60
码字总数 47114
作品 0
温州
程序员
CentOS7搭建ngrok服务器

CentOS7搭建ngrok服务器 会飞的污熊2017-12-302 阅读 web ngrok是一个反向代理,它能够让你本地的web服务或tcp服务通过公共的端口和外部建立一个安全的通道,使得外网可以访问本地的计算机服...

会飞的污熊
2017/12/30
0
0
用ngrok实现外网访问本地WEB项目的方法

用ngrok实现外网访问本地WEB项目的方法 注意:http://ngrok.com 为国外版,自定义二级域名功能已收费, 可使用 http://ngrok.cc 国内版。 信息:chenyubo1..... 1.下载 在ngrok官网https://n...

cccyb
2016/12/02
54
0
ngrok服务安装笔记

ngrok目前只开源1.x版本,最新的是1.7,使用下来发现比花生壳内网版要稳定和好用得多,重要的是ngrok支持mac和Linux平台,很是好用。先前参考JerryQu的博文搭建 ngrok 服务实现内网穿透进行部...

侠云
2015/10/22
0
0
Ngrok搭建服务器

一、ngrok简介及作用 ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。 这些看上去很麻烦,我们更需要的是了解ngrok的用途。 完美代替“花生壳”软件。 “花生壳”是一款老牌的内网...

dingdayu
2016/08/23
2.2K
6
搭建ngrok服务器之扩展

说明 了解本文之前,请先阅读前两篇博文。不然会感觉不知所云。本文主要是在前两篇基础上进行发散思维扩展及本博主遇到的一些问题。希望对其他人有帮助,让你少走弯路。 nginx端口转发 如果服...

pizibaidu
2017/06/16
0
0
内网穿透神器:Ngrok在支付中的正确使用姿势

前言 随着互联网的发展,无论是web服务还是移动APP越来越多的都集成了第三方支付(支付宝、微信、银联)。通常作为服务提供方,支付成功以后都会有一个后端回调URL来通知是否调用者是否支付成功...

小柒2012
06/06
0
0
微信开发环境搭建

一、微信开发环境搭建   工欲善其事,必先利其器。要做微信公众号开发,那么要先准备好两样必不可少的东西:   1、要有一个用来测试的公众号。   2、用来调式代码的开发环境。 1.1、注...

林夕2018
2016/04/29
671
0
Angrok 一个内网穿透服务

网上的搭建的教程挺多,尝试搭建的时候遇到了很多问题。 准备 1、GO环境安装 2. ngrok下载 3.证书生成 4.下载ngrok go包(建议手动下载) 1)编译server端 2)编译客户端 5. 服务端ngrokd后台...

冷冷gg
2016/10/18
133
2
ngrok服务器搭建

ngrok服务器搭建 资源 我的安装环境 go安装 go set export GOROOT=/usr/local/goexport GOOS=linuxexport GOARCH=386export GOBIN=$GOROOT/bin PATH=$PATH:$GOBINexport PATH--- source .bas......

livend
2016/07/04
257
1
调试web服务

使用ngrok调试web服务,一般是直接使用已有的别人提供的服务,最近需要用到ngrok来抓请求,虽然可以用wireshark和tcpdump这类神器。但是还是ngrok比较直观 使用包含ngrok的docker镜像 作者提...

wzyuliyang
2016/12/03
16
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java基础——异常

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 异常处理: 可以挖很多个陷阱,但是不要都是一样...

凯哥学堂
28分钟前
0
0
180723-Quick-Task 动态脚本支持框架之结构设计篇

文章链接:https://liuyueyi.github.io/hexblog/2018/07/23/180723-Quick-Task-动态脚本支持框架之结构设计篇/ Quick-Task 动态脚本支持框架之结构设计篇 相关博文: 180702-QuickTask动态脚本...

小灰灰Blog
32分钟前
0
0
SBT 常用开发技巧

SBT 一直以来都是 Scala 开发者不可言说的痛,最主要的原因就是官方文档维护质量较差,没有经过系统的、循序渐进式的整理,导致初学者入门门槛较高。虽然也有其它构建工具可以选择(例如 Mill...

joymufeng
36分钟前
0
0
HBase in Practice - 性能、监控及问题解决

李钰(社区ID:Yu Li),阿里巴巴计算平台事业部高级技术专家,HBase开源社区PMC&committer。开源技术爱好者,主要关注分布式系统设计、大数据基础平台建设等领域。连续4年基于HBase/HDFS设计和...

中国HBase技术社区
37分钟前
1
0
ES18-JAVA API 批量操作

1.批量查询 Multi Get API public static void multiGet() {// 批量查询MultiGetResponse response = getClient().prepareMultiGet().add("my_person", "my_index", "1")// 查......

贾峰uk
41分钟前
0
0
SpringBoot2.0使用health

1,引入actuator <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency> 2,application.properties ......

暗中观察
48分钟前
0
0
阿里巴巴Java开发规约

###编程规约 命名风格 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束 【强制】代码中的命名严禁使用拼音与英文混合的方式,更不允许直接使用中文的方式。...

简心
53分钟前
0
0
如何用TypeScript来创建一个简单的Web应用

转载地址 如何用TypeScript来创建一个简单的Web应用 安装TypeScript 获取TypeScript工具的方式: 通过npm(Node.js包管理器) npm install -g typescript 构建你的第一个TypeScript文件 创建...

durban
58分钟前
0
0
分享好友,朋友圈自定义分享链接无效

这个问题是微信6.5.6版本以后,修改了分享规则:分享的连接必须在公众号后台设定的js安全域名内

LM_Mike
今天
0
0
2018年7月23日课程

一、LVS-DR介绍 director分配请求到不同的real server。real server 处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务器的一半连接。负载均衡器仅处理一半的连接,避免了...

人在艹木中
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部