一、准备工作
1.外网域名(域名备案)
2.服务器(有固定ip)
3.服务器开放端口(80,443,4443),端口下面使用
注意与其他端口有冲突
4.域名映射(下面使用到ngrok.xxx.com必须映射至该服务器)
5.添加泛域名映射至该服务器(*.ngrok.xxx.com)
二、安装GIT
yum install -y gcc gcc-c++ git zlib-devel openssl-devel perl
二、配置GO语言环境
wget https://storage.googleapis.com/golang/go1.8.linux-amd64.tar.gz
解压:
tar -zxvf go1.8.linux-amd64.tar.gz
添加环境变量:
export GOROOT=/data/go
export PATH=$PATH:$GOROOT/bin
重启使配置生效
source /etc/profile
检查是否配置成功,出现下图表示成功
三、ngrok安装
1.上传ngrok包至服务器并解压
包下载地址:
2.创建证书
export GOPATH=/data/ngrok/
export NGROK_DOMAIN="ngrok.XXX.com"
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
3.复制证书至指定目录
cp rootCA.pem /data/ngrok/assets/client/tls/ngrokroot.crt
cp device.crt /data/ngrok/assets/server/tls/snakeoil.crt
cp device.key /data/ngrok/assets/server/tls/snakeoil.key
4.生成ngrok服务端
cd /data/ngrok/
#这里GOOS后面是你的系统,我是linux,GOARCH 后面是系统,64位是amd64,32位是386
GOOS=linux GOARCH=amd64 make release-server
5.查看生成结果
6.生成客户端
GOOS=windows GOARCH=amd64 make release-client
7.启动服务端软件
cd /data/ngrok
./bin/ngrokd -domain="ngrok.XXX.com" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"
-domain 域名和证书保持一致
-httpAddr http端口
-httpsAddr https 端口
-tunnerlAddr 客户端ngrok.exe连接端口
8.服务器后台保持运行
cd /data/ngrok/bin
nohup ngrokd -domain="ngrok.XXX.com" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" &
四、下载客户端使用
1.下载生成windos客户端
2.添加配置文件ngrok.cfg,配置文件内容
server_addr: "ngrok.xxx.com:4443"
trust_host_root_certs: false
3.添加bat脚本
ngrok -config=ngrok.cfg -subdomain dd 66
# ddd代表本次域名前缀 66 代表本地代理应用端口
4.双击bat运行,出现以下就表示成功
注:因为压缩包csdn不能上传,有需要使用该工具,添加qq群 838247076,下载客户端直接可以使用