域名配置
申请一个自己的域名,假设用到的域名是ngrok.xxx.com
,需要将ngrok.xxx.com
和*.ngrok.xxx.com
解析到自己的服务器上面
配置go语言环境
ngrok是go语音写的,服务器上需要配置go语言环境,相关配置命令如下:
下载
1
2
3
4
5
6#下载
wget https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz
#解压
tar -zxvf go1.9.1.linux-amd64.tar.gz
#移动到local目录
mv go /usr/local创建软连接
1 | #创建软连接 |
安装ngrok
- 下载源码
1 | cd /usr/local |
- 生成证书
1 | # 进入ngrok源码的目录 |
- 编译服务端
1 | cd /usr/local/ngrok |
- 编译各大平台客户端
1 | # 1、Linux 32位:linux 386 |
- 生成的客户端文件示例
1 | .../ngrok/bin$tree |
启动服务端
开启后台运行,注意端口8001
,8443
和4443
开启防火墙或安全规则放行,端口也可自行定义1
nohup /usr/local/ngrok/bin/ngrokd -domain="ngrok.xxx.com" -tlsCrt="/usr/local/ngrok/server.crt" -tlsKey="/usr/local/ngrok/server.key" -httpAddr=":8001" -httpsAddr=":8443" -tunnelAddr=":4443" -log-level="INFO" >/var/log/ngrok.log 2>&1 &
客户端配置
将上面生成的客户端可执行文件拷贝到需要内网穿透的设备上即可,这里直接说多域名和多TCP内网穿透配置文件,直接在客户端同级目录下创建ngrok.cfg配置文件,注意server_addr端口要与tunnelAddr对应,内容如下:
1 | server_addr: ngrok.xxx.com:4443 |
内网穿透
- 启动特定转发
1 | ./ngrok -config ngrok.cfg -log ngrok.log start weixin |
注:-log ngrok.log
可以查看客户端日志,可去掉
- 将所有配置转发
1 | ./ngrok -config ngrok.cfg -log ngrok.log start-all |
启动后出现online
字样说明内网穿透成功
...
...
00:00
00:00
If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !