Skip to content

Instantly share code, notes, and snippets.

@XiongJingzhi
Last active January 29, 2019 14:06
Show Gist options
  • Select an option

  • Save XiongJingzhi/c4cd3ddd520b368b30dd50ba46ae5076 to your computer and use it in GitHub Desktop.

Select an option

Save XiongJingzhi/c4cd3ddd520b368b30dd50ba46ae5076 to your computer and use it in GitHub Desktop.
1. 克隆源码
cd /usr/local
git clone https://github.com/inconshreveable/ngrok.git
2. 引入环境变量
export GOPATH=/usr/local/ngrok/ #目录位置
export NGROK_DOMAIN="ngrok.yourset.com" #你的ngrok服务二级域名
3. 根据你的域名生成证书
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 server.key 2048
openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000
4. 证书替换
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp server.crt assets/server/tls/snakeoil.crt
cp server.key assets/server/tls/snakeoil.key
5. 编译客户端和服务器端
GOOS=linux GOARCH=amd64 make release-server #根据平台选取
GOOS=darwin GOARCH=amd64 make release-client #mac 64
GOOS=windows GOARCH=amd64 make release-client #win64
6. 开启参数
/usr/local/ngrok/bin/ngrokd -domain="ngrok.yourset.com" -httpAddr=":2443" -httpsAddr=":3443" -tunnelAddr=":4443"
参数说明:
-domain 访问ngrok是所设置的服务地址生成证书时那个
-httpAddr http协议端口 默认为80
-httpsAddr https协议端口 默认为443 (可配置https证书)
-tunnelAddr 通道端口 默认4443
7. 后台开启,输出日志到文件
nohup ./bin/ngrokd -domain="ngrok.xiongjingzhi.cn" -httpAddr=":8081" > log.file 2>&1 &
// ngrok.conf
server_addr: ngrok.xiongjingzhi.cn:4443
trust_host_root_certs: false
tunnels:
tunnel1:
subdomain: wx
proto:
http: 8088
tunnel2:
subdomain: api
proto:
http: 8080
// index bat
ngrok -config=ngrok.conf start tunnel1 tunnel2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment