一、准备
需要一台云服务器(本文ECS),一个域名(二级域名也可以),并且域名正确解析到云服务器。
二、安装环境
安装gcc和git(下载ngrok源码)
yum
install
gccgit-y
三、安装go语言环境
去官网/dl/下载最新安装包
网很慢的下载地址:/s/1c2i2oaG(官网1.9.2版本)
解压缩
tar
-c
/usr/local/
-zxvfgo1.9.2.linux-amd64.
tar
.gz
添加到环境变量
#golang
export
GOROOT=
/usr/local/go
export
PATH=$PATH:$GOROOT
/bin
查看是否安装成功(查看版本号)
goversion
goversiongo1.9.2linux
/amd64
(表示安装成功)
四、搭建Ngrok服务
下载ngrok源码
cd
/usr/local/ngrok
gitclonehttps:
//github
.com
/tutumcloud/ngrok
.gitngrok
生成证书(一行一行执行)
cd
ngrok
NGROK_DOMAIN=
"你的域名"
opensslgenrsa-outbase.key2048
opensslreq-new-x509-nodes-keybase.key-days10000-subj
"/CN=$NGROK_DOMAIN"
-outbase.pem
opensslgenrsa-outserver.key2048
opensslreq-new-keyserver.key-subj
"/CN=$NGROK_DOMAIN"
-outserver.csr
opensslx509-req-
in
server.csr-CAbase.pem-CAkeybase.key-CAcreateserial-days10000-outserver.crt
将新生成的证书,替换掉assets/client/tls下的证书
cp
base.pemassets
/client/tls/ngrokroot
.crt-y
编译生成ngrokd和ngrok
正常执行后,ngrok/bin 目录下应该有 ngrok、ngrokd 两个可执行文件。
启动服务端:
httpAddr、httpsAddr 分别是 ngrok 用来转发 http、https 服务的端口,可以随意指定。ngrokd 还会开一个 4443 端口用来跟客户端通讯(可通过 -tunnelAddr=”:xxx” 指定),如果你配置了 iptables 规则,需要放行这三个端口上的 TCP 协议。
现在,通过 https://你的域名:443和 https://你的域名:80就可以访问到 ngrok 提供的转发服务
出现下面提示则说明成功
五、编译生成ngrok(windows客户端)
成功会在bin目录下看到windows_amd64文件夹,复制到windows电脑上即可启动
六、编译生成ngrok(Mac客户端)
去ngrok目录编译:
完成后会在 /usr/local/src/ngrok/bin/darwin_amd64/ 下发现 ngrok 文件,将其拷贝到Mac上面,像上面windows的设置即可使用。
七、客户端运行
创建一个文件,命名为ngrok.cfg,写入一下内容
在创建一个启动bat文件,命名为start.bat(Windows版本,Mac同理创建一个sh文件内容一致在最前面加一个"./"为当前目录执行,不带引号)
启动start.bat文件
**需要注意的是"你的域名" 要进行泛解析到服务器ip上才可以,自定义二级域名用**