打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
阿里云搭建自己的ngrok服务

参考博文:https://blog.csdn.net/qq_34292044/article/details/78559128

https://blog.csdn.net/huanxiang201311/article/details/72725891

一.环境准备

        1.固定的ip地址,我用的是阿里云,系统cenos6,比较老的系统。阿里云有自己的安全组策略,请把你自己的端口加进安全组里。如图


        2.需要有域名,已经域名解析。本文使用阿里万网域名以及阿里dns解析。如图

,域名当初买的是一年一块钱,DNS解析如图所示

点击解析设置,设置要解析的ip,然后域名要经过实名验证才会生效

完成之后可以本地ping一下我们自己的域名,看会不会解析成我们自己的ip地址,网络是否通顺

二 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。 填写我们的域名地址

  1. cd ngrok
  2. NGROK_DOMAIN="你的域名"
  3. openssl genrsa -out base.key 2048
  4. openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem
  5. openssl genrsa -out server.key 2048
  6. openssl req -new -key server.key -subj "/CN=$NGROK_DOMAIN" -out server.csr
  7. 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="你的域名" -httpAddr=":80" -httpsAddr=":8082"

若正常的话会提示


7.生成ngrokwindows客户端

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

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

8.然后在同级目录下新建一个配置文件ngrok.cfg:
server_addr: "你的域名: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

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


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

一,在ngrok程序目录下新建一个启动脚本,例如:
    start.sh
    path=/software/git/ngrok
    $path
    ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="你的域名" -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重启就实现自启后台运行了

 

        

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
在阿里云搭建自己的ngrok服务
简单搭建ngrok服务器,实现内网穿透
yum方式下快速安装php7.1
比较主流的几种内网穿透方式
自行编译ngrok服务端客户端,替代花生壳,跨平台
以自己的电脑作为服务器,搭建网站,外网可访问
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服