CentOS7 搭建ngrok
Ngrok官网
Ngrok带来的好处
- 无需另外部署演示程序
- 移动设备快速测试
- 轻松建立webhook
- 在局域网内发布服务到公网
- 等等(自行挖掘吧)
Ngrok部署
服务端部署
- 安装Go环境
wget https://storage.googleapis.com/golang/go1.4.1.linux-amd64.tar.gz
tar -C /usr/local -xzf go1.4.1.linux-amd64.tar.gz
mkdir $HOME/go
echo 'export GOROOT=/usr/local/go' >> ~/.bashrc
echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export PATH=$PATH:$GOROOT/bin:$GOPATH/bin' >> ~/.bashrc
source $HOME/.bashrc
- 安装编译环境依赖
yum install -y mercurial git bzr subversion
- 下载ngrok源码
cd /usr/local/src
git clone https://github.com/inconshreveable/ngrok.git
export GOPATH=/usr/local/src/ngrok/
export NGROK_DOMAIN="这里填写自己的域名"
- 配置证书
cd ngrok
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 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
cp rootCA.pem assets/client/tls/ngrokroot.crt
cp device.crt assets/server/tls/snakeoil.crt
cp device.key assets/server/tls/snakeoil.key
- 编译ngrok服务端
GOOS=linux GOARCH=amd64 make release-server
- 测试服务端运行
nohup /usr/local/src/ngrok/bin/ngrokd --domain="你之前填写的域名" --httpAddr=":8000" >/dev/null 2>&1 &
netstat -an|grep 8000
*此处的httpAddr”:8000″代表绑定本机8000端口,之后发布的应用就可以直接通过 域名:8000 进行访问
客户端部署
- windows客户端编译
cd /usr/local/go/src
GOOS=windows GOARCH=amd64 ./make.bash
cd /usr/local/src/ngrok/
GOOS=windows GOARCH=amd64 make release-client
- MacOS客户端编译
cd /usr/local/go/src
GOOS=darwin GOARCH=amd64 ./make.bash
cd /usr/local/src/ngrok/
GOOS=darwin GOARCH=amd64 make release-client
- linux客户端编译
cd /usr/local/go/src
GOOS=linux GOARCH=amd64 ./make.bash
cd /usr/local/src/ngrok/
GOOS=linux GOARCH=amd64 make release-client
- 客户端配置文件ngrok.cfg
serveraddr: “你之前填写的域名:4443”
trusthostrootcerts: false
- 客户端运行测试(需要设置子域名到Ngrok服务器IP)
ngrok -config=ngrok.cfg -subdomain=test 80
*上面这条命令的意思就是将本机的 80端口 发布到 “test.你设置的域名” 上,由于之前服务端配置的httpAddr=”:8000″,所以可以通过访问 http://test.你设置的域名:8000 访问到本机的80端口服务
