安装go语言
安装ngrok
- 环境配置
- cd ./ngrok
- export GOPATH=/path/to/ngrok/ #ngrok路径
- export NGROK_DOMAIN=”ngrok.yourdomain.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 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
- cp rootCA.pem assets/client/tls/ngrokroot.crt
- cp server.crt assets/server/tls/snakeoil.crt
- cp server.key assets/server/tls/snakeoil.key
- 编译Server
- GOOS=linux GOARCH=amd64
- make release-server
- 编译Client
编辑ngrok.cfg
server_addr: "ngrok.yourdomain.com:4443"
trust_host_root_certs: false
服务器端运行ngrokd
- ./ngrokd -tlsKey=”assets/server/tls/snakeoil.key” -tlsCrt=”assets/server/tls/snakeoil.crt” -domain=”ngrok.yourdomain.com” -httpAddr=”:8081” -httpsAddr=”:8082” -tunnelAddr=”:4443”
客户端运行ngrok
- ./ngrok -config=./ngrok.cfg -subdomain=simple_test 80
其他
- 确保服务器开放8081,8082,4443端口,也可以换成其他端口
- 添加域名解析
- 需要配置DNS 两个A记录 泛解析*和@, 添加域名解析对阿里云服务器上搭建ngrok很重要,一般解析需要十几个小时甚至一两天,以至于一度让我以为配置失败了。
参考
阿里云搭建ngrok服务器
跨平台替代花生壳,打造自己的ngrok服务器
一分钟实现内网穿透(ngrok服务器搭建)