menu jfatty
search self_improvement
目录
搭建Ngrok服务器
jfatty
jfatty 2020年11月13日  ·  阅读 1,885

1、准备

一台安装Centos8的云服务器Centos 8.0(64位)

2、搭建Ngrok服务器

1.安装环境

yum install -y gcc git mercurial subversion golang lrzsz

2.下载ngrok源码,并且切换到ngrok目录下

git clone https://github.com/inconshreveable/ngrok.git
cd ngrok

3.生成证书

用来做穿透的域名是 ngrok.jfatty.com,第一行命令的ngrok.jfatty.com需要改成各位同学的域名,如果域名配置错误就会被拒绝连接

export NGROK_DOMAIN="ngrok.jfatty.com"
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

4.提换证书 执行命令时确认是在ngrok目录下 否则会导致找不到文件路径

这里的命令每敲一行,都要输入“y”来进行确认,当初就是因为直接回车导致证书匹配不上

cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key

5.编译ngrok的服务端

GOOS=linux GOARCH=amd64 make release-server

6.编译生成ngrok的客户端

GOOS=windows GOARCH=amd64 make release-client Windows客户端
GOOS=darwin GOARCH=amd64 make release-client  Mac客户端

7.下载Windows客户端或者Mac客户端运行文件

cd bin/windows_amd64
sz ngrok.exe

8.启动ngrok服务端

cd ngrok/bin/   请找准ngrok下载目录
sudo nohup ./ngrokd -domain="ngrok.jfatty.com" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" & 

9.配置本地ngrok

1.将下载下来的ngrok.exe 或者是ngrok(运行前要给执行权限),放到一个空文件夹当中,并在该文件夹中新建一个ngrok.cfg文件(可以新建一个记事本,然后把名字改成ngrok.cfg)。输入以下内容

server_addr: "ngrok.example.com:4443"
trust_host_root_certs: false
tunnels:
 dev:
  subdomain: "dev"
  proto:
   http: "8080"

ngrok.example.com 换成自己的域名
2.打开命令行,到当前目录,输入以下命令回车执行

ngrok -config=ngrok.cfg start dev

image.png
Tunnel Status online
出现上图 online状态证明你搭建成功了

分类: ngrok
标签: linux golang ngrok