如果要有实现内网穿透的功能ngrok是个不错的选择,这篇就讲下如何配置ngrox。
使用的是开源的ngrox1.0,目前2.0版本尚未开源。
编译 ngrok
假定工作目录为/home/ubuntu/opt/,这个随意,根据自己使用改。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| sudo apt-get update sudo apt-get install build-essential golang mercurial git
cd ngrok
export NGROK_DOMAIN="your.domain.com"
export GOPATH=/home/ubuntu/opt/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
sudo make release-server release-client
|
此时,如果没有报错的话,./ngrok/bin目录下会有ngrok和ngrokd可执行文件。
1 2 3 4
| └── bin ├── go-bindata ├── ngrok └── ngrokd
|
运行 ngrok服务端
1 2
| cd ~/opt/ngrok/bin/ ./ngrokd -domain="your.domain.com" -httpAddr=":8081" -httpsAddr=":8082"
|
正常的话会显示下面类似的信息。
![信息]()
设置DNS解析
在域名服务商,设置your.domain.com域名解析到运行ngrok服务器的IP。
访问http://test.your.domain.com:8081
如果出现
Tunnel test.your.domain.com:8081 not found
就说明服务器搭建成功。
接下来设置客户端。