阿里云centos6.9搭建ngrok服务器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/com_it/article/details/80155533

准备工作:(1)阿里云ECS服务器(2)自己的域名

1,安装gcc

 centos查看是否安装了gcc命令   rpm -qa|grep gcc*        

没有就需要安装 yum install gcc

2,安装git

 yum install git

3,安装go运行环境

1)下载安装包  地址:https://golang.org/dl/

2)解压该安装包

/usr/local目录下会多出go目录

3)设置环境变量 vim/etc/profile   添加下列内容

GO_HOME=/usr/local/go

exportPATH=$PATH:$GO_HOME/bin

4)让环境变量立即生效并检查是否安装成功

说明安装成功了

4,下载ngrok源码   github地址:https://github.com/inconshreveable/ngrok

下载完毕,当前目录下会有一个ngrok目录

5,生成证书

starcup.top是我的二级域名,以它为示例

进入ngrok目录下,执行下面命令

NGROK_DOMAIN="starcup.top"

openssl genrsa -out base.key 2048

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

openssl genrsa -out server.key 2048

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

opensslx509 -req -in server.csr -CA base.pem -CAkey base.key -CAcreateserial -days10000 -out server.crt

6,替换原本的证书

cpbase.pem assets/client/tls/ngrokroot.crt 

7编译生成ngrok服务器

make release-server release-client

这时bin目录下有ngrokd文件了

8,启动ngrok服务器 ,执行下面命令

./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="starcup.top" -httpAddr=":80" -httpsAddr=":443" -tunnelAddr=":4443"

domain 后面是生成证书的那个域名

-httpAddr http协议端口 默认为80

-httpsAddr https协议端口 默认为443

 -tunnelAddr 通道端口 默认4443

出现上图说明成功启动

9,编译生成windows客户端

GOOS=windows GOARCH=amd64 makerelease-client

然后bin目录下会多了windows_amd64文件夹

进入windows_amd64目录,新建ngrok.cfg文件   命令 touchngrok.cfg

vim打开添加以下内容

server_addr: "starcup.top:4443"

trust_host_root_certs:false

注意4443是上面-tunnelAddr指定的端口,要一致才行

10,将阿里云服务器中的windows_amd64文件夹下载到本地磁盘里面  可以用WinSCP或ftp工具下载

11,启动客户端

在本地电脑打开cmd,进入windows_amd64目录下,执行下面命令

ngrok -config=ngrok.cfg  -log=ngrok.log  -subdomain=www  8080

结果如下:


12,每次启动ngrok服务都要输入很长的命令,下面将ngrok设置自定义service

以centos6.9示例

vim /etc/init.d/ngrok

#!/bin/bash

#chkconfig: - 99 01

##

#description: this is a ngrok customscript!

case $1 in

       start)

       cd /home/mysoft/ngrok/

       ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt-domain="starcup.top" -httpAddr=":80" -httpsAddr=":443"-tunnelAddr=":4443"

       echo ngrok  is running...

       ;;

       stop)

       echo 关闭窗口就行了

       ;;

       *)

       echo Usage:`basename $0` start|stop|restart

esac

修改ngrok文件权限

chomd 755 /etc/init.d/ngrok

以后就可以使用service ngrok start开启ngrok服务了

13,问题:

如果你的ngrok.log日志里面显示不能访问你的域名对应的主机,则需要去阿里云控制台设置DNS 两个A记录泛解析*和@这样创建的域名才能访问你的本地配置的地址


猜你喜欢

转载自blog.csdn.net/com_it/article/details/80155533
今日推荐