ngrok配置比较麻烦,建议使用:frp
参考地址:点击查看
首先安装一下必要的环境
centos
sudo yum install build-essential golang mercurial git
Ubuntu
sudo apt-get install build-essential golang mercurial git
编译源代码
git clone https://github.com/tutumcloud/ngrok.git ngrok
cd ngrok
生成证书,替换NGROK_DOMAIN为你自己的域名地址
NGROK_DOMAIN="sangbo.me"
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
开始编译
sudo make release-server release-client
运行
sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="sangbo.me" -tunnelAddr=":11000" -httpAddr=":11001" -httpsAddr=":11002"
为了使用方便,建议把域名泛解析到 VPS 上,这样能方便地使用不同子域转发不同的本地服务。
接着编译客户端
以我的客户端Windows 64位 为例:
sudo GOOS=windowsGOARCH=amd64 make release-server release-client
Mac 64位
sudo GOOS=darwin GOARCH=amd64 make release-server release-client
这样在 ngrok/bin 目录下会多出来一个 windows_amd64目录,这里的 ngrok 文件就可以拷到 windows系统用了。
写一个简单的配置,命名为 ngrok.cfg
server_addr: sangbo.me:11000
trust_host_root_certs: false
写一个bat,命名为run.bat
@echo off
ngrok -subdomain tomcat -proto=http -config=ngrok.cfg 8080
运行run.bat就可以连接到远程服务了。
与Nginx并存: