CentOS搭建ngrok服务器与客户端应用程序
安装go语言,安装git
1 | yum -y install build-essential golang mercurial git |
下载ngrok源码
代码目录结构如下:
生成证书 ,并编译一个携带该证书的ngrok客户端
域名用自己的替换下面的wx.yzblog.xyz
,同时在域名解析中增加A记录指向自己这台服务器IP
1 | NGROK_DOMAIN="wx.yzblog.xyz" |
将生成的证书替换掉官方的默认证书
1 | cp base.pem assets/client/tls/ngrokroot.crt |
编译源码
会在bin
目录下生成两个文件,服务端我们接下来直接运行,客户端我们需要生成window版。
1 | make release-server release-client |
运行服务端
1 | ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="wx.yzblog.xyz" -httpAddr=":80" -httpsAddr=":443" |
httpAddr、httpsAddr 分别是 ngrok 用来转发 http、https 服务的端口,可以随意指定。
ngrokd 还会开一个 4443 端口用来跟客户端通讯(可通过 -tunnelAddr=”:xxx” 指定)。
由于微信限制不能出现端口号,因此这个使用了80、443端口。
生成客户端
执行对应的命令会在bin目录下生成windows_amd64目录,ngrok.exe就存放在该目录下。将ngrok.exe下载到本地。
1 | GOOS=windows GOARCH=amd64 make release-client |
在本地新建文件夹(名字随便),同时在此文件夹下新建以下文件。
文件内容分别为:
- ngrok.cfg(配置文件)
1
2server_addr: "wx.yzblog.xyz:4443"
trust_host_root_certs: false - startup.bat(启动脚本)
-config
指向配置文件,-log
存放日志文件位置,-subdomain
为自定义的域名前缀。8080
为端口号。1
2
3
4
5@echo on
cd %cd%
#ngrok -proto=tcp 22
#ngrok start web
ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=my 8080
点击启动脚本startup.bat完成启动
参考梦幻逝水大大的教程 :https://blog.csdn.net/yjc_1111/article/details/79353718