ngrok服务器搭建
程序员文章站
2022-07-08 20:04:45
...
参考博客:https://blog.csdn.net/yjc_1111/article/details/79353718
一、安装 git,golang
yum install git golang
二、下载ngrok源码
mkdir ngrok
cd ngrok
git clone https://github.com/inconshreveable/ngrok.git
三、生成自签名证书(这一步不知道原理,照做就是)
cd ngrok
NGROK_DOMAIN="我的域名"
openssl genrsa -out base.key 2048
openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.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 base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt
四、替换(官方的)证书
cp base.pem assets/client/tls/ngrokroot.crt
五、编译服务端
make release-server
六、生成windows客户端程序
GOOS=windows GOARCH=amd64 make release-client
这些是go语言的东西,应该是可以指定win32或者mac等不同平台的编译版本,这里选择的是windows64位
生成的exe在bin目录下,把exe拿到需要部署端口转发的电脑上。在同级目录下创建配置文件ngrok.cfg,写下面内容
server_addr: "我的域名:4443"
trust_host_root_certs: false
一定要有域名,用ip是不行的
七、启动服务端程序
./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="我的域名" -httpAddr=":80" -httpsAddr=":443"
这里可以弄成后台运行,开机自启,不表(hui)
八、客户端的用法
举例,转发80端口可以这样
ngrok -config=ngrok.cfg 80
转发3389远程控制端口可以这样
ngrok -config=ngrok.cfg -proto=tcp 3389
因为默认是http https协议,用tcp协议得明确指出。
看见绿色online说明成功。