关于Ngrok 服务端+客户端搭建操作手册

吴志国 发布于 02/22 10:40
阅读 673
收藏 0

欢迎来到志国博客论坛:

    今天给大家介绍一款Ngrok如何在公网服务器上搭建使用。

首先先介绍下什么是Ngrok:

     Ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。Ngrok 可捕获和分析所有通道上的流量,便于后期分析和重放。简单来说,利用 Ngrok 可以通过外网来访问部署在本地服务器的网站,它还提供一个 Web 管理页来监控 HTTP 通信报文,方便程序员发现问题、开发调试。另外 Ngrok 还支持 TCP 层端口映射,不局限于某一特定的服务。支持 Mac OS X,Linux,Windows 平台。

    Ngrok 官网地址 : https://ngrok.com/

接下来废话不多说,让我们一起跟着我的步骤一步步搭建环境:

第一:准备一台公网IP:

  可以自己部署服务器,环境自己搭建。

  也可以直接购买阿里云的服务器,省事,方便快捷。

注:如果用阿里云的服务搭建,因为阿里云有自己的安全组策略,请配置安全组,把自己的端口配置进去

 

第二步:打开窗口

注意切换root用户权限。

 

第三步:下载源码

 1>.安装GCC

   yum install gcc -y

2>.安装GIT

  yum install git -y

  3>.安装GO语言环境

yum install -y mercurial git bzr subversion golang golang-pkg-windows-amd64 golang-pkg-windows-386

4>.检查环境安装:

 git --version

 go version

 5>.ngrok源码下载

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

注:(如果你想省略此步骤,可以下载到你本地,通过rz 命令来上传你服务器上)

6>.设置环境变量

 export NGROK_DOMAIN="***.cn"

7>.生成证书

 切换到你打ngrok目录.

命令如下:

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 server.key 2048

 


 

openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr

 


 

openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

 

打开目录:

看下你的文件里目录是否给我一致。生成6个证书文件。

7>.拷贝目录

cp rootCA.pem assets/client/tls/ngrokroot.crt  #复制rootCA.pem到assets/client/tls/并更名为ngrokroot.crt

cp server.crt assets/server/tls/snakeoil.crt #复制server.crt到assets/server/tls/并更名为snakeoil.crt

cp server.key assets/server/tls/snakeoil.key #复制server.key到assets/server/tls/并更名为snakeoil.key

8>.生成文件

#win服务端
GOOS=windows GOARCH=386 make release-server


#win客户端
GOOS=windows GOARCH=386 make release-client


#linux服务端
GOOS=linux GOARCH=386 make release-server


#linux客户端
GOOS=linux GOARCH=386 make release-client

生成完成后,在工作目录的bin文件夹下,产生对应的文件。以编译windows平台为例,会产生“ngrok.exe”与“ngrokd.exe”这两个文件,ngrok.exe为客户端,ngrokd.exe是服务端,需要运行在公网服务器上。

<注:因为项目中引用了一些外部资源,生成会耗费一些时间,对网络也有一定的要求,太慢会中短>

生产完成之后bin文件夹下的东西。

把linux_386里所有文件拷贝到当前层里面 生成结果

ngrok 是客户端,ngrokd 是服务端。

9>.启动ngrok服务端

切换到ngrokd 服务端程序所在的目录并执行如下命令:

xxx.cn代表你的域名

执行效果如下:

 

如果出现这种情况,服务端配置大功告成。恭喜下自己吧。嘻嘻

第四步配置客户端:

拷贝生成的ngrok.exe到本地计算机,并新建配置文件ngrok.cfg,内容为:

server_addr: "xxxx.cn:4443"
trust_host_root_certs: false

xxx.cn代表你的域名

再新建文件start.bat批处理文件,内容为:

ngrok.exe -subdomain hello -config=ngrok.cfg 8080

hello为子域名前缀,访问时格式为hello.xxx.cn

8080为本地tomcat服务器使用的端口号;或者启动Spring Boot 项目设置端口为 8080

然后双击start.bat启动效果如下所示:

到此,就可以通过域名hello.xxx.cn访问本地的服务器了。例如我的Spring Boot服务器:

 

加载中
0
征途wxj
😍ི😍ི😍ི😍ི😍ི😍ི😍ི😍ི😍ི😍ི😍ི😍ི
返回顶部
顶部