以下仅是个人学习记录,说明并不全,请见谅。
一、前提准备:
云服务器centos+已解析域名xxxx.com
二、环境搭建:
1. 基础环境
yum -y install zlib-devel openssl-devel perl hg cpio expat-devel gettext-devel curl curl-devel perl-ExtUtils-MakeMaker hg wget gcc gcc-c++ git
2. go语言
yum install golang
3.下载ngrok源码包到新建文件中
cd /usr/local
mkdir ngrok
cd /ngrok
git clone https://github.com/inconshreveable/ngrok.git
4.生成证书,注意使用自己域名
cd ngrok
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=xxxx.com" -days 5000 -out rootCA.pem
openssl genrsa -out server.key 2048
openssl req -new -key server.key -subj "/CN=xxxxx.com" -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000
5.覆盖原本证书
cp rootCA.pem /usr/local/ngrok/ngrok/assets/client/tls/ngrokroot.crt
cp server.crt /usr/local/ngrok/ngrok/assets/server/tls/snakeoil.crt
cp server.key /usr/local/ngrok/ngrok/assets/server/tls/snakeoil.key
6.生成ngrok服务
make clean
make release-server
7.生产ngrok客户端
GOOS=windows GOARCH=amd64 make release-client
#编译成功后会在ngrok/bin/下面生成一个windows_amd64目录下面有ngrok.exe
#Linux 平台 32 位系统:GOOS=linux GOARCH=386
#Linux 平台 64 位系统:GOOS=linux GOARCH=amd64
#Windows 平台 32 位系统:GOOS=windows GOARCH=386
#Windows 平台 64 位系统:GOOS=windows GOARCH=amd64
#MAC 平台 32 位系统:GOOS=darwin GOARCH=386
#MAC 平台 64 位系统:GOOS=darwin GOARCH=amd64
#ARM 平台:GOOS=linux GOARCH=arm
8.后台启动ngrok服务,注意修改域名,使用默认通道端口4443
setsid ./bin/ngrokd -tlsKey="assets/server/tls/snakeoil.key" -tlsCrt="assets/server/tls/snakeoil.crt" -domain="xxxx.com" -httpAddr=":8081" -httpsAddr=":8082"
9.ngrok客户端配置与启动
ngrok.exe是第7步中生成文件,
ngrok.cfg自定义文件,可自行进行配置,简单配置如下
tcp.bat自定义文件,
配置完成后,执行bat文件即可。
如果无法连接,请关闭防火墙