CentOS 7 搭建ngrok服务器(外网映射内网)

  1. 准备
    一台云服务器(本文ECS),一个域名(二级域名也可以),并且域名正确解析到云服务器

  2. 安装环境
    安装gcc和git(下载ngrok源码)

    yum install gcc -y
    yum install git -y

  3. 安装go语言环境
    去官网https://golang.org/dl/下载最新安装包
    网很慢的下载地址:https://pan.baidu.com/s/1c2i2oaG(官网1.9.2版本)
    解压缩

    tar -c /usr/local/ -zxvf go1.9.2.linux-amd64.tar.gz

    添加到环境变量

    vi /etc/profile
    export GOROOT=/usr/local/go
    export PATH= PATH: GOROOT/bin
    source /etc/profile

    查看是否安装成功(查看版本号)

    go version
    go version go1.9.2 linux/amd64

  4. 搭建Ngrok服务
    下载ngrok源码

    cd /usr/local/ngrok
    git clone https://github.com/tutumcloud/ngrok.git ngrok

    生成证书

    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

将新生成的证书,替换掉assets/client/tls下的证书

cp base.pem assets/client/tls/ngrokroot.crt

编译生成ngrokd和ngrok

make release-server release-client

正常执行后,ngrok/bin 目录下应该有 ngrok、ngrokd 两个可执行文件。

启动服务端

sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="你的域名" -httpAddr=":7009" -httpsAddr=":7008"

httpAddr、httpsAddr 分别是 ngrok 用来转发 http、https 服务的端口,可以随意指定。ngrokd 还会开一个 4443 端口用来跟客户端通讯(可通过 -tunnelAddr=”:xxx” 指定),如果你配置了 iptables 规则,需要放行这三个端口上的 TCP 协议。
现在,通过 https://你的域名:7009和 https://你的域名:7008就可以访问到 ngrok 提供的转发服务

出现下面提示则说明成功

[22:07:18 CST 2017/12/07] [INFO] (ngrok/log.(*PrefixLogger).Info:83) [registry] [tun] No affinity cache specified
[22:07:18 CST 2017/12/07] [INFO] (ngrok/log.Info:112) Listening for public http connections on [::]:7009
[22:07:18 CST 2017/12/07] [INFO] (ngrok/log.Info:112) Listening for public https connections on [::]:7008
[22:07:18 CST 2017/12/07] [INFO] (ngrok/log.Info:112) Listening for control and proxy connections on [::]:4443
[22:07:18 CST 2017/12/07] [INFO] (ngrok/log.(*PrefixLogger).Info:83) [metrics] Reporting every 30 seconds

5. 编译生成ngrok(windows客户端)

GOOS=windows GOARCH=amd64 make release-client

成功会在bin目录下看到windows_amd64文件夹,复制到windows电脑上即可启动

get /usr/local/ngrok/ngrok/bin/windows_amd64/ngrok.exe

6. windows端运行
创建一个文件,命名为ngrok.cfg,写入一下内容

server_addr: "你的域名:4443"
trust_host_root_certs: false

在创建一个启动bat文件,命名为start.bat

ngrok -config=ngrok.cfg -subdomain 映射本地的域名 本地的端口
如ngrok -config=ngrok.cfg -subdomain sb 8081

启动start.bat文件

外网域名访问
http://映射本地的域名:7009
映射到本地的地址是
127.0.0.1:本地的端口
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

滚动的小薯条

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值