阿里云搭建ngrok服务器

前提:

需要域名一个,在域名控制台新建一个ngrok.**.cn的A类域名。

go环境搭建

通过这个url可以很快获取golang源码,然后编译安装就可以了。

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

在root环境执行下面的命令:

mkdir $HOME/go
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >>~/.bashrc
echo 'export PATH=$PATH:/$GOROOT/bin' >>~./bashrc
source $HOME/.bashrc

安装go get工具

yum -y install git bzr subversion mercurial

获取源码:

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

编译

配置环境变量

export NGROK_DOMAIN="ngrok.***.cn"

生成自签名ssl证书

cd ngrok
openssl genrsa -out rootCA.key 2048
openssl req -x509 -new -nodes -k rootCA.key -subj "/CN=$NGROK_DOMAIN" -days 5000 -out rootCA.pem
openssl genrsa -out device.key 2048
openssl req -new -key device.key -subj "/CN=$NGROK_DOMAIN" -out device.csr
openssl x509 -req -in device.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out device.crt -days 5000

新生成6个文件:device.crt device.csr device.key rootCA.key rootCA.pem rootCA.srl。
ngrok通过bindata将ngrok源码目录下的assets目录(资源文件)打包到可执行文件(ngrok和ngrokd)中去,assets/clinet/tls和assets/server/tls下分别放着用于ngrok和ngrokd的默认证书文件,我们需要将他们替换成自己生成的:(此步骤必须放在编译可执行文件之前)。

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

设置变量

GOOS=linux GOARCH=amd64

生成客户端和服务端

make release-server release-client

交叉编译生成windows客户端
上述编译过程生成的服务端和客户端都是linux下的,不能在windows下使用。如果想编译生成windows客户端,需要重新配置环境并编译。
进入go目录,进行环境配置

cd /usr/local/go
GOOS=windows GOARCH=amd64 CGO_ENABLED=0 ./make.bash

进入ngrok目录重新编译

cd /root/ngrok
GOOS=windows GOARCH=amd64 make release-server release-client

编译完成后会在bin目录下生成windows_amd64目录,其中包含windows下运行的服务器和客户端程序。
ngrokd服务启动与使用
启动ngrokd服务端

cd ngrok/bin
./ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80"

结束进程ctrl+c,或者是在后台运行ngrokd。

./ngrokd -domain="$NGROK_DOMAIN" -httpAddr=":80" &

结束进行可以通过ps命令。查找到pid,然后kill掉。
启动ngrok客户端
将生成的ngrok.exe拷贝到本地D盘的新建ngrok文件夹中,然后新建ngrok.cnf文件,并在其中添加如下内容:

server_addr:"ngrok.***.cn:4443"
trust_host_root_certs:false

在windows控制台执行:

ngrok -config=ngrok.cnf -subdomain test 80

这里写图片描述
回车就可以连接,因为这不是实际搭建的环境,所以就不测。
本文参考:
http://tonybai.com/2015/03/14/selfhost-ngrok-service/
https://blog.ni-co.moe/p/340.html
http://www.tuicool.com/articles/ZraURrq

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值