自建Ngrok服务与使用
自建Ngrok服务与使用
小神神的大草原 发表于8个月前
自建Ngrok服务与使用
  • 发表于 8个月前
  • 阅读 9
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 新注册用户 域名抢购1元起>>>   

摘要: ngrok 是一个反向代理,通过在公共的端点和本地运行的 Web 服务器之间建立一个安全的通道。通俗的说就是可以通过外网访问内网应用。

准备工作

  • 一个域名
  • 一台vpn或者公网服务器
  • 若参照本教程:ngrock的安装目录为:/usr/local/ngrok/,go目录为:/usr/local/go/src。

服务器上安装go开发环境

由于ngrok是由go语言开发的,需要go环境进行编译,所以要再服务器上配置go开发环境。

服务器上安装git

有了git就可以直接从github上面把ngrok源码拷贝下来了。

下载ngrok源码

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

为域名生成证书

设置域名常量:

export 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`

覆盖ngrock证书

cp base.pem assets/client/tls/ngrokroot.crt&&cp server.crt assets/server/tls/snakeoil.crt&&cp server.key assets/server/tls/snakeoil.key

编译服务端

  • 进入ngrock 目录:cd /usr/local/ngrok/
  • 编译服务端:make release-server

编译客户端

由于存在windows,mac,linux等平台,编译不通的客户端稍有不同,需要通过go中的make.bash手工编译出跨编译工具。

  • 进入go中src目录 cd /usr/local/go/src
  • 生产mac跨编译工具:GOOS=darwin GOARCH=amd64 ./make.bashwindows 64位为GOOS=windows GOARCH=amd64 ./make.bash
  • 进入ngrok目录:cd /usr/local/ngrok/
  • 编译出客户端:GOOS=darwin GOARCH=amd64 make release-client

使用

启动服务端

  • 在ngrok目录中执行如下命令:./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain=“xiake.tech” -httpAddr=":8008"

启动客户端

编辑客户端配置文件

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

启动客户端

./ngrok -config=ngrok.cfg -subdomain=wechat 8080

启动后显示:

Tunnel Status                 online
Version                       1.7/1.7
Forwarding                    http://wechat.你的域名:8008 -> 127.0.0.1:8080
Forwarding                    https://wechat.你的域名:8008 -> 127.0.0.1:8080
Web Interface                 127.0.0.1:4040
# Conn                        0
Avg Conn Time                 0.00ms

到此,可以通过http://wechat.你的域名:8008访问本地8080端口。

标签: grok
共有 人打赏支持
粉丝 2
博文 69
码字总数 20376
×
小神神的大草原
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: