一、服务器端搭建:
1、所需条件:
域名,服务器,winscp,xshell
2、预先准备
将域名设置泛解析到自己服务器上,空解析也做上
3、服务器端生成自己的openssl证书
将exp.com换成自己的域名
此时,ngrok下面应该有6个证书
4、将服务端文件文件准备
链接: http://pan.baidu.com/s/1i3rR3ed 密码: 9gd2,通过winscp上传至解压至放有6个证书的ngrok文件下 执行
简单介绍:domain为自己的域名,httpAddr为服务器端http代理端口,如端口被占用可自己指定,tlsCrt为tls加密证书,tunnelAddr为客户端与服务器端连接端口
如果没报错,ok
5、服务器端后台运行
ngrokd这个项目比较傲娇一点,通过&后台挂起或者supervisor服务形式都无法放后台运行,没办法,只能出大招,通过screen方式运行。
$screen
执行后出现新的窗口,./bin/ngrokd -domain="exp.com" -httpAddr=":80" -httpsAddr=":443" -tlsCrt=device.crt -tlsKey=device.key -tunnelAddr=":4443" 执行后可将窗口关闭,ngrokd即在后台运行,若想了解状态,可重新打开任意窗口,输入screen -ls找到自己ngrokd这个窗口的编号,通过screen -r 编号 的形式重新打开该窗口
至此,服务端部署完毕。
二、路由端
1、打开路由端ssh功能,通过xshell ssh至路由。
2、链接:http://pan.baidu.com/s/1c0bMKne 密码:a4j5该文件通过winscp方式上传到jffs文件下(其实随意,记得在哪就行)
3、解压得到tunnel和default.json两个文件。
4、vi default.json编辑配置文件,i进入编辑模式,将server改为自己的域名,subdomin为该设备的访问域名,如subdomin为test,即可通过test.exp.com访问自己设备,但若更改服务器httpAddr端口号不是80,如8000,要输入test.exp.com:8000访问,localhost 为代理后的ip,根据自己的路由或nas调整为10.1.1.1或192.168.1.1 通过按esc后输入:wq保存退出
5、编辑好执行
若出现proxy ok,此时内网穿透完成。
6、路由端可通过
来完成后台运行。