在linux服务器上搭建ngrok服务

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并存:


参考地址: https://imququ.com/post/self-hosted-ngrokd.html

你可能感兴趣的:(ngrok)