在 Ubuntu 中安装 ngrok

ngrok 认服务器在美国,速度太慢,只好自己搭了。

首先要安装 go 语言环境,我们从官方网站下载最新版本。

wget https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
tar -zxvf go1.4.2.linux-amd64.tar.gz -C /usr/local

export GOROOT=/usr/local/go
export PATH=$GOROOT/bin:$PATH
# vi /etc/rc.local

echo $GOROOT
# /usr/local/go
echo $PATH
# /usr/local/go/bin:...

go version
# go version go1.7.3 linux/amd64

确认 go 语言版本在 1.6 以上。(此处不可用apt-get,认安装的 golang 版本是 1.2,不满足要求)

下载 ngrok

mkdir ngrok
apt-get update
apt-get install git
git clone https://github.com/inconshreveable/ngrok.git

为你的域名生成证书

cd ngrok

export NGROK_DOMAIN="ngrok.yourdomain.com"

openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -key rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.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 rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 5000

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

编译 ngrok

cd ngrok

make release-server release-client
GOOS=windows GOARCH=amd64 make release-client

编译成功后可以在 bin 目录下找到 ngrokd 和 ngrok.exe,ngrokd 是服务端,ngrok.exe 是客户端

启动服务端

./bin/ngrokd -domain=ngrok.yourdomain.com -tlsKey=server.key -tlsCrt=server.crt -httpAddr=:81

浏览器访问:http://ngrok.yourdomain.com:81/ 得到如下回复

Tunnel ngrok.yourdomain.com:81 not found

这表示服务启动成功。

下载 ngrok.exe 到 windows 系统,添加并编辑一个 ngrok.cfg 文件

server_addr: "ngrok.yourdomain.com:4443"
trust_host_root_certs: false

用以下命令行启动客户端

ngrok.exe -subdomain=abc -config=ngrok.cfg 5000

如果看到 Tunnel Status: online,就说明连接成功了。

此时访问 http://ngrok.yourdomain.com:81/,得到的就是本机 5000 端口的程序返回。

相关文章

目录前言一、创建Hadoop用户二、更新apt和安装Vim编辑器三、...
原文连接:https://www.cnblogs.com/yasmi/p/5192694.html ...
电脑重启后,打开VirtualBox,发现一直用的虚拟机莫名的消失...
参见:https://blog.csdn.net/weixin_38883338/article/deta...
Ubuntu 18.04 LTS 已切换到 Netplan 来配置网络接口。Netpla...
介绍每个 Web 服务都可以通过特定的 URL 在 Internet 上访问...