背景介绍:之前使用的ngrok服务挂了
搭建环境 Ubuntu Server 16.04 LTS 64位
-
安装git
sudo apt-get install build-essential golang mercurial git
-
获取源码
git clone https://github.com/tutumcloud/ngrok.git ngrok
-
生成替换证书
cd ngrok NGROK_DOMAIN="yourdomain" openssl genrsa -out base.key 2048 openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.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 base.pem -CAkey base.key -CAcreateserial -days 10000 -out server.crt cp base.pem assets/client/tls/ngrokroot.crt
-
编译源码(生成客户端)
sudo make release-server release-client
生成windows下的客户端
GOOS=windows GOARCH=amd64 make release-client
-
启动服务
sudo ./bin/ngrokd -tlsKey=server.key -tlsCrt=server.crt -domain="ngrok.itcuc.cc" -httpAddr=":8081" -httpsAddr=":8082"
配置域名解析
-
配置nginx代理
在nginx.conf中加入
server { listen 80; server_name *.ngrok.itcuc.cc ngrok.itcuc.cc; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host:8081; proxy_set_header X-Nginx-Proxy true; proxy_set_header Connection ""; proxy_pass http://127.0.0.1:8081; } }
reload Nginx
-
验证安装
在浏览器打开http://ngrok.itcuc.cc/,如果出现Tunnel ngrok.itcuc.cc:8081 not found就表示安装好了
-
安装客户端
下载第5步保存的windows客户端
在同目录新建ngrok配置文件,名称随便,例如ngrok.conf
在配置文件中加入代码server_addr: ngrok.itcuc.cc:4443 trust_host_root_certs: false
新建bat文件,加入代码
cd %cd% ngrok -config=ngrok.cfg -subdomain=wxtest 8080
subdomain是你要使用的域名和端口
没了