CentOS7.3下搭建Ngrok内网穿透服务日志
一、准备
1
2
3
4
51、首先你需要一个服务器,我是用的阿里云轻量应用服务器,系统是CentOS7.3, 2、然后你需要一个域名,你可以去万网或者其他域名服务商租用,记得备案域名不然访问不了 3、把你的域名和服务器绑定起来(具体的操作很简单,不讲了) 4、域名做dns解析
二、开始安装
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109# 安装依赖 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
最后
以上就是听话荔枝最近收集整理的关于轻量应用服务器CentOS7.3下搭建Ngrok服务日志的全部内容,更多相关轻量应用服务器CentOS7内容请搜索靠谱客的其他文章。
发表评论 取消回复