ngrok服务搭建

1,安装gcc(编译器套件)
[root@192 /]# yum install gcc
2,安装git(分布式版本控制系统)
[root@192 /]# yum install git
3,安装go语言环境(因为ngrok的运行环境需要)
在这个站点查看下载最新版 https://www.golangtc.com/static/go/ (linux-amd64是64位的。linux-386是32位的)
目前下载的————go1.9.2.linux-amd64.tar.gz
centos 查看版本及位数命令cat proc/version
下载好后通过Xshell 上传到服务器并解压
[root@192 go]# tar -zxvf go1.9.2.linux-amd64.tar.gz
添加环境变量

vim /etc/profile
添加
export GO_HOME=/usr/local/go/go
export PATH=$PATH:$GO_HOME/bin

添加完后执行source /etc/profile使配置生效

查看是否安装成功(查看版本号)

[root@192 /]# go version
go version go1.9.2 linux/amd64

4,搭建Ngrok服务
4.1 下载ngrok源码

[root@192 /]# cd usr/local/ngrok
[root@192 ngrok]# git clone https://github.com/tutumcloud/ngrok.git ngrok

4.2 生成证书
cd ngrok
abc.com在这里是自己的域名

export NGROK_DOMAIN="abc.com"

openssl genrsa -out rootCA.key 2048  #生成rootCA.key文件

openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem

openssl genrsa -out device.key 2048  #生成device.key文件

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.3 将新生成的证书替换,执行下面命令后 “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.编译生成ngrokd(服务端)

GOOS=linux GOARCH=amd64 make release-server

生成在~/ngrok/bin/目录中

6.编译生成ngrok(客户端)

GOOS=windows GOARCH=amd64 make release-client

生成在~/ngrok/bin/windows_amd64/目录中

7.用SSH Secure Shell Client工具
将~/ngrok/bin/windows_amd64/里的文件下载到本地Windows下,如D:\ngrok

8.在D:\ngrok\windows_amd64中新建文件,改名为 ngrok.cfg

文件中输入:

server_addr: "abc.com:4443" // 4443 监控端口

trust_host_root_certs: false
  1. 开启远程服务
cd ngrok
sudo bin/ngrokd -domain='abc.com' -httpAddr=':81' -httpsAddr=':8081' -tunnelAddr=':4443'

以上端口如果在Ece 服务中需要设置安全组规则才能不被防火墙拦截

启动成功如下:
启动远程服务成功

  1. 再在本地开启一个http端口 就可以做映射了
    在文件“D:\ngrok\windows_amd64”中创建 start.bat 文件
    并编辑 D:\ngrok\windows_amd64>ngrok.exe -log=ngrok.log -config=ngrok.cfg -subdomain www 8082
分别说明一下后面的参数意思:

-log参数用于指定ngrok的日志内容,有些时候一些错误,我们可以通过日志进行分析。所以这个还是很有必要的。
-config参数用于指定载入的配置文件,前面我们已经看到客户端文件夹中,我有一个ngrok.cfg文件,待会我们会说明配置文件的内容。
-subdomain参数用于指定我们映射到外网后,访问的子域名,例如服务器端我绑定的域名是abc.com那么这里的subdomain设置的www,说明我们本地映射的外网访问域名则为:www.abc.com后面的8082这是说明访问要访问的本地http服务的端口,一般都是8082号端口
然后将上面的脚本内容保存到start.bat文件中即可。

11.运行start.bat 文件成功如图:
在这里插入图片描述
这里解释一下 8082端口 是本地启动的tomcat端口
访问:http://www.abc.com:81/news/public/login.do
就可以外网访问到映射到本地的项目了。。。。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值