轻量应用服务器CentOS7.3下搭建Ngrok服务日志

CentOS7.3下搭建Ngrok内网穿透服务日志

一、准备
1、首先你需要一个服务器,我是用的阿里云轻量应用服务器,系统是CentOS7.3,
2、然后你需要一个域名,你可以去万网或者其他域名服务商租用,记得备案域名不然访问不了
3、把你的域名和服务器绑定起来(具体的操作很简单,不讲了)
4、域名做dns解析

在这里插入图片描述

二、开始安装
# 安装依赖
yum -y install openssl-devel wget gcc gcc-c++
# 安装git
yum install git -y
# 安装go
yum install -y mercurial bzr subversion golang
# 查看go版本
go version
# 拉取ngrok源码
git clone https://github.com/inconshreveable/ngrok.git
# 生成证书
cd ngrok

export NGROK_DOMAIN="你的域名"
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 

# 将新生成的证书替换掉旧的  过程会让你输入y 回车
cp rootCA.pem assets/client/tls/ngrokroot.crt 
cp server.crt assets/server/tls/snakeoil.crt 
cp server.key assets/server/tls/snakeoil.key

# 编译生成ngrokd服务端,运行在当前系统CentOS
GOOS=linux GOARCH=amd64 make release-server
#这里GOOS后面是你的系统,我是linux,GOARCH 后面是系统,64位是amd64,32位是386
#生成的服务端在你的ngrok下面的bin下面的ngrokd文件

#生成客户端
GOOS=windows GOARCH=amd64 make release-client  
#这里GOOS后面是你的系统,我是要在window上启动客户端,GOARCH 后面是系统,64位是amd64,32位是386
#都在bin下,服务端是ngrokd客户端是ngrok
#然后你就可以把客户端拷贝到你的电脑里面了

#这里就可以测试一下你的ngrok可不可以启动了
./bin/ngrokd -domain="你的域名" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"
#-domain后面你上面写的域名  -httpAddr http端口  -httpsAddr https 端口 
#-tunnerlAddr 客户端端口,连接端口

# 如果可以启动,那你就可以开始下一步了,如果不能就再检查检查上面几步
# 创建快捷启动脚本
vi start-ngrokd.sh

# 下面是内容

#!/bin/sh
/opt/app/ngrok/bin/ngrokd -domain="你的域名" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"

# 前面的路径记得改
#-domain后面你上面写的域名  -httpAddr http端口  -httpsAddr https 端口 
#-tunnerlAddr 客户端端口,连接端口

# 设置文件权限
chmod 755 start-ngrokd.sh

# 然后添加到自启动列表
vi /etc/init.d/ngrok

# 写入以下内容 #!/bin/sh 这个也是内容

#!/bin/sh
### BEGIN INIT INFO
# Provides:          ngrok
# Required-Start:    
# Required-Stop:     
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start or stop the ngrok Proxy.
### END INIT INFO

# 记得修改你的路径!!
ngrok_path=/opt/app/ngrok/
case "$1" in
        start)
                echo "start John's ngrok service.."
                sh ${ngrok_path}/start-ngrokd.sh
                ;;
        *)
        exit 1
        ;;
esac

# 到这里结束
# 然后 给ngrok脚本文件权限
chmod 755 /etc/init.d/ngrok

# 添加启动服务 ngrok
chkconfig --add ngrok

# 尝试启动 确定可以启动就行了
service ngrok start

# 然后关掉它 运行下面这个指令
nohup /opt/app/ngrok/bin/ngrokd -domain="你的域名" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" &
# 这是后台启动的指令

# 然后还记得你刚刚拷贝下来的客户端吗
# 在ngrok.exe同目录下创建文件ngrok.cfg

server_addr: "xxxx.com:4443"
# 你上面自己写的域名 这里的域名还有端口一定要记得注意和你配置的tunnelAddr端口要一致
trust_host_root_certs: false

#目录下打开命令行
ngrok -config=ngrok.cfg -subdomain test 80
# -subdomain 前缀 端口

如果不出意外

你会看到这样子的

在这里插入图片描述

然后你可以新建一个bat文件 把刚刚那行命令拷进去
你就可以一键启动了
是不是很简单~

三、注意事项

1、如果你ngrok服务宕机了(毕竟这是常有的事情),那么你可以运行
nohup /opt/app/ngrok/bin/ngrokd -domain="你的域名" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" &
或者
nohup /opt/app/ngrok/bin/ngrokd -domain="你的域名" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443" > /dev/null 2>&1 &
来重启你的ngork服务,第一个会保存日志,第二个不会保存日志

2、客户端ngrok.cfg中server_addr后域名必须严格与-domain以及证书中的NGROK_DOMAIN相同,否则Server端就会出现如下错误日志:
Failed to read message: remote error: bad certificate

资料来源:
https://segmentfault.com/a/1190000014094827?utm_source=tag-newest
https://blog.csdn.net/kxwinxp/article/details/88393572

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值