网上的搭建的教程挺多,尝试搭建的时候遇到了很多问题。
准备
# 升级yum yum update # 安装gcc yum install gcc
1、GO环境安装
## 使用1.4版本,不要使用高版本。 mkdir /root/goproj cd /root/goproj wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
## 解压
###配置go 环境变量 vi /etc/profile export GOROOT=/root/goproj/go export PATH=$GOROOT/bin:$PATH export GOPATH=/root/goproj/ngrok source /etc/profile
2. ngrok下载
cd /root/goproj git clone https://github.com/inconshreveable/ngrok.git cd /root/goproj/ngrok
3.证书生成
openssl genrsa -out rootCA.key 2048 openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=angrok.cn" -days 5000 -out rootCA.pem openssl genrsa -out device.key 2048 openssl req -new -key device.key -subj "/CN=angrok.cn" -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
4.下载ngrok go包(建议手动下载)
wget https://github.com/inconshreveable/go-update/archive/v0.zip wget https://github.com/go-yaml/yaml/archive/v1.zip #将下载的文件解压后的go文件放到 mkdir /root/goproj/ngrok/src/gopkg.in/inconshreveable/go-update.v0 mkdir /root/goproj/ngrok/src/gopkg.in/yaml.v1
1)编译server端
cd /root/goproj/ngrok make release-server #### 编译之前请确保已经 安装了gcc 。。。报错请(yum install gcc)
2)编译客户端
1.Windows客户端 cd /root/goproj/go/src GOOS=windows GOARCH=amd64 ./make.bash cd /root/goproj/ngrok GOOS=windows GOARCH=amd64 make release-client #同理,这里的amd64是64位系统,32位改成386 #会在 bin/windows_amd64 目录下生成ngrok客户端程序,将ngrok.exe下载到windows操作系统 2.Mac客户端 cd /root/goproj/go/src GOOS=darwin GOARCH=amd64 ./make.bash cd /root/goproj/ngrok GOOS=darwin GOARCH=amd64 make release-client #会在 bin/darwin_amd64/ 目录下生成ngrok客户端程序
5. 服务端ngrokd后台启动运行
ngrok 服务在关闭远程时候会被杀掉进程。
输入下面命令
## 安装screen神器 yum install screen
screen -S keepNgrok /root/goproj/ngrok/bin/ngrokd -domain="angrok.cn" -httpAddr=":80" -httpsAddr=":8081" -tunnelAddr=":4443" &
6.客户端使用
#新建 ngrok.cfg 文件,内容: server_addr: "angrok.cn:4443" trust_host_root_certs: true #客户端启动 ./ngrok -config=ngrok.cfg -subdomain=a 8080