第一步:安装go和git
yum install gcc -y
yum install git -y
yum install mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386 -y
第二步:下载ngrok源码
git clone https://github.com/inconshreveable/ngrok.git
第三步:编译及安装
执行以下命令
注意:NGROK_DOMAIN是你要使用的域名地址(二级域名也可以)
cd ngrok
NGROK_DOMAIN="xxxx.com"
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
第四步:拷贝替换证书
提示是否覆盖 则输入 y
cp base.pem assets/client/tls/ngrokroot.crt
第五步:编译并生成服务端启动程序
make release-server release-client
此次操作需要一点点等待时间(取决于服务器网络和性能),如果编译成功后会在bin目录生成ngrokd文件
ngrokd是服务端启动程序 (====下边会有启动命令====)
第六步:编译客户端(在ngrok目录下)
mac环境
GOOS=darwin GOARCH=amd64 make release-client
windows环境
GOOS=windows GOARCH=amd64 make release-client
第七步:将编译出的客户端下载到自己的本机(需要内网穿透的机器上)
第八步:在刚才从服务器下载来的客户端同级目录里创建配置文件
文件名: ngrok.cfg
server_addr: "xxx.xxx.com:4443"
trust_host_root_certs: false
server_addr 端口则与服务端tunnelAddr配置相同
第九步:启动服务端和客户端
启动服务端
./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="xxx.xxx.com" -httpAddr=":80" -httpsAddr=":443"
-httpAddr=80 指定映射域名http访问的端口 默认80
-httpsAddr=443 https的访问端口 默认443
-tunnelAddr=4443 客户端连接的端口 默认4443
可自定义修改
启动客户端
./ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=ngrok 8088
后边的端口号代表本地服务的端口号 mac出现 -bash: ./xx.sh: Permission denied报错解决方法
chmod 777 文件名