文档章节

ngrok服务器搭建

z
 zhancy01
发布于 2016/08/21 15:18
字数 625
阅读 76
收藏 1

参考: http://blog.csdn.net/u013216667/article/details/50782084

前期

  • clone ngrok源码
git clone https://github.com/inconshreveable/ngrok.git
  • go long环境配置 : 推荐1.4版本 可能会因为版本出问题 参见最下方

制作签名证书

export GOPATH=/root/ngrok/
export NGROK_DOMAIN="ngrok.resty.xyz"
// 证书制作
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000
// 替换自签名证书到相关目录
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt 
cp device.key assets/server/tls/snakeoil.key

生成客户端服务端

# 指定环境变量位64位linux版本
GOOS=linux GOARCH=amd64
# 生成linux服务端及客户端,生成文件在bin下
make release-server release-client
# 试运行,注意端口占用情况(运行之后 Ctrl+C结束)
./bin/ngrokd -domain="ngrok.resty.xyz" -httpAddr=":9081" -httpsAddr=":9082"
# ngrok server开机自启
cp /root/ngrok/bin/ngrokd /usr/bin/ngrokd
chmod +x /usr/bin/ngrokd
vim /etc/rc.local
nohup ngrokd -tlsKey="/dataApp/ngrokcfg/device.key" -tlsCrt="/dataApp/ngrokcfg/device.crt"  -domain="ngrok.resty.xyz" -httpAddr=":80" -httpsAddr=":8081" -tunnelAddr=":4443"
# linux server client
GOOS=linux GOARCH=amd64 
make release-server release-client

注意: 生成windows客户端,需要交叉编译 (如需要参照下面ubuntu下go环境配置)

# apt-get install golang没有该目录,好像 在/usr/lib/下,建议使用最下面推荐的go lang配置方式
cd /usr/local/go/src 
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 ./make.bash
cd /dataApp/ngrok
GOOS=windows GOARCH=amd64 make release-server release-client
# 同理 mac端生成
cd /usr/local/go/src 
GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 ./make.bash
cd /dataApp/ngrok
GOOS=darwin GOARCH=amd64 make release-server release-client

windows端测试

创建客户端配置文件ngrok.cfg 如下:

server_addr: "ngrok.resty.xyz:4443"
trust_host_root_certs: false
tunnels:
    http:
        proto:
            http: 8080
        subdomain: web
    https:
        proto:
            https: 8099
        subdomain: ssl
    ssh:
        remote_port: 5000
        proto:
            tcp: 22
#  启动ngrokd
 ngrokd -tlsKey="/dataApp/ngrokcfg/device.key" -tlsCrt="/dataApp/ngrokcfg/device.crt"  -domain="ngrok.resty.xyz" -httpAddr=":80" -httpsAddr=":8081" -tunnelAddr=":4443"
# cmd下启动ngrok
ngrok.exe -config=ngrok.cfg  -log=log start http https ssh

出现以下内容,测试通过

Tunnel Status                 online
Version                       1.7/1.7
Forwarding                    http://web.ngrok.resty.xyz -> 127.0.0.1:8080
Forwarding                    https://ssl.ngrok.resty.xyz:8081 -> 127.0.0.1:8099
Forwarding                    tcp://ngrok.resty.xyz:5000 -> 127.0.0.1:22
Web Interface                 127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

问题

  • web.ngrok.resty.xyz 这些域名必须添加解析,才能在解析到,只添加ngrok.resty.xyz好像不行,标记下。

Ubuntu安装个GO Lang(go 语言)环境配置

参见: http://aevitx.com/2016/03/31/ngrok/

wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
tar -xzf go1.4.1.linux-amd64.tar.gz -C /usr/local

设置系统环境变量 vi /etc/profile 在最后添加:

export GOROOT=/usr/local/go
export GOBIN=$GOROOT/bin
export GOPKG=$GOROOT/pkg/tool/linux_amd64
export PATH=.:$PATH:$GOBIN:$GOPKG

然后编译,使其生效

source /etc/profile

测试:能看见版本号,那么配置成功!

go version

© 著作权归作者所有

z
粉丝 1
博文 15
码字总数 4809
作品 0
郑州
程序员
私信 提问
CentOS7搭建ngrok服务器

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

会飞的污熊
2017/12/30
0
0
CentOS 搭建ngrok服务器(外网映射内网)

CentOS 7 搭建ngrok服务器(外网映射内网) 准备 一台云服务器(本文ECS),一个域名(二级域名也可以),并且域名正确解析到云服务器 安装环境 安装gcc和git(下载ngrok源码) yum install gcc -y...

独钓渔
03/18
77
1
Ngrok服务器搭建好,客户端连不上问题

你好:请教博客轮有个问题. 问题描述: 本地是外网地址请求服务器自己搭建的ngrok不通。 环境描述 :我的服务端在公网服务器上已经搭建好了。 我用本地 配置如下: server_addr: "***.cn:444...

吴志国
02/21
1K
4
可用的内网映射外网工具ngrok

参见:http://www.ngrok.cc/ 包含了ngrok下载,使用教程。 ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。ngrok 可捕获和分析所有通道上的流量,便...

quantumcs
2015/12/17
281
0
关于Ngrok 服务端+客户端搭建操作手册

欢迎来到志国博客论坛: 今天给大家介绍一款Ngrok如何在公网服务器上搭建使用。 首先先介绍下什么是Ngrok: Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全...

吴志国
02/22
648
1

没有更多内容

加载失败,请刷新页面

加载更多

c语言实现Sqlite3的创建db和增删改查db操作

SQLite,是一款轻型的数据库,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中使用广泛,现在准备学习一下sqlite3的使用方法并写一个测试demo,后面在项目智能...

jorin_zou
30分钟前
5
0
【2019年8月版本】OCP 071认证考试最新版本的考试原题-第2题

choose three Which three are true about the CREATE TABLE command? A) It can include the CREATE...INDEX statement for creating an index to enforce the primary key constraint. B) ......

oschina_5359
34分钟前
6
0
如何在二维码中循环批量插入图片

现在二维码种类比较多,为了突出二维码的个性及吸引客户,很多朋友都喜欢在二维码上插入图片。想要每个二维码都与众不同,但是有的时候需要批量插入图片数量有限,如果制作的二维码比较多的话...

中琅软件
35分钟前
7
0
LTR那点事—AUC及其与线上点击率的关联详解

LTR(Learning To Rank)学习排序是一种监督学习(SupervisedLearning)的排序方法,现已经广泛应用于信息索引,内容推荐,自然语言处理等多个领域。以推荐系统为例,推荐一般使用多个子策略...

达观数据
35分钟前
6
0
IntelliJ 如何显示代码的代码 docs

希望能够在 IntelliJ 代码上面显示方法的 docs。 如何进行显示? 你可以使用 Ctrl + Q 这个快捷键来查看方法的 Docs。 https://blog.ossez.com/archives/3061...

honeymoose
38分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部