微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 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 端口的程序返回。

原文地址:https://www.jb51.cc/ubuntu/356101.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐