ngrok阿里云CES centos7系统使用教程

暗地星辰 · · 512 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

linux服务器上安装ngrok,开启ngrok服务

1.安装git和golang,其中git不是必须的,安装git仅仅是为了后面下载ngrok源码方便,golang是因为ngrok是用go语言写的

        1.yum install gcc

        2.yum install git ,若存在最好先执行yum remove git,再安装,怕到时候下载不下来ngrok源码

    3.安装golang语言环境-wget https://studygolang.com/dl/golang/go1.8.linux-amd64.tar.gz。下载地址在https://studygolang.com/dl中找的,想换版本可以在这里找

        4.tar -zxvf go1.8.linux-amd64.tar.gz

        5.vi /etc/profile 加上这两句话

        export GOROOT=你的go解压地址

        export PATH=$PATH:$GOROOT/bin

        source /etc/profile 是环境生效

        go version 查看go是否安装成功

    2,。下载ngro源码,安装

        1.cd /software/git

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

        3.ngrok配置,执行一下命令。使用ngrok.com官方服务时,我们使用的是官方的SSL证书。自建ngrokd服务,如果不想买SSL证书,我们需要生成自己的自签名证书,并编译一个携带该证书的ngrok客户端。

证书生成过程需要一个NGROK_BASE_DOMAIN。 填写我们的域名地址


cd ngrok

NGROK_DOMAIN="你的域名"

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

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

经过以上步骤,证书已经生成

4  cp base.pem assets/client/tls/ngrokroot.crt 复制证书

5  make release-server release-client

这一步骤等待时间较长,成功编译后,会在bin目录下找到ngrokd和ngrok这两个文件。

6.前面生成的 ngrokd 就是服务端程序了,指定证书、域名和端口启动它(证书就是前面生成的,注意修改域名)

./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="你的域名(ng.baidu.com)" -httpAddr=":8081" -httpsAddr=":8082"

若正常的话会提示

成功后还是无法访问 我找了一下原因发现里面有坑 ,阿里云的安全组规则开启8081 8082 4443这几个端口 centos 防火墙 默认只开放了常用的端口号,需要添加我们需要的端口号

firewall-cmd --zone=public --add-port=8081/tcp

firewall-cmd --zone=public --add-port=8082/tcp

firewall-cmd --zone=public --add-port=4443/tcp

以上是临时开启

需要永久开启后面加 --permanent

firewall-cmd --zone=public --add-port=8081/tcp  --permanent

firewall-cmd --zone=public --add-port=8082/tcp --permanent

firewall-cmd --zone=public --add-port=4443/tcp --permanent


7.生成ngrokwindows客户端

GOOS=windows GOARCH=amd64 make release-client windown系统

GOOS=windows GOARCH=amd64 make release-client  mac系统

8.然后在同级目录下新建一个配置文件ngrok.cfg:

server_addr: "你的域名(ng.baidu.com):4443" 

trust_host_root_certs: false 

同目录下新建一个start.bat

@echo on

cd %cd%

#ngrok -proto=tcp 22

#ngrok start web

ngrok -config=ngrok.cfg -log=ngrok.log -subdomain=wechat 80

访问结果就是wechat.ng.baidu.com:8081

双击start.bat 正常情况下有如下所示


三,优化ngrok服务-设置开机启动

一,在ngrok程序目录下新建一个启动脚本,例如:

    start.sh

    path=/software/git/ngrok

    $path

    ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="你的域名(ng.baidu.com)" -httpAddr=":80" -httpsAddr=":8082"

path为当前目录的路径

启动脚本要写后台启动的脚本,后面的启动项目根据自己需要来写

二,把ngrok程序制作成系统服务

在 /etc/rc.d/init.d目录下新建一个服务项目(ngrok),如下:

[plain] view plain copy

    #!/bin/sh 

    #chkconfig:2345 70 30 

    #description:ngrok 


    ngrok_path=/software/git/ngrok 

    case "$1" in 

        start) 

            echo "start ngrok service.." 

            sh ${ngrok_path}/start.sh 

            ;; 

        *) 

        exit 1 

        ;; 

    esac 

给该文件赋权限755

chmod 755 ngrok

三,注册ngrok服务自启动

chkconfig --add  ngrok

测试服务是否能启动成功

service ngrok start

检查自启动的服务

chkconfig

reboot重启就实现自启后台运行

————————————————

版权声明:本文为CSDN博主「梨子路想」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/u010444106/article/details/80457985


基于以上博主的方法 我把未说明的坑 补齐,希望后面的人少走弯路。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:暗地星辰

查看原文:ngrok阿里云CES centos7系统使用教程

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

512 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传