[toc]
前端开发,有时候需要给外网的测试人员浏览,此时若没有专门的测试服务器,那么使用内网穿透就是最简便通用的方式了。一个常见的选择就是 ngrok 。 也有 frp
ngrok官网
本地客户端跑起,搭建内网端口隧道给外网服务器,用户访问外网服务器对应地址,自动映射到本地对应地址。
这个方案很简单,也很慢,超慢,无法忍受的慢。
官网教程参看 https://github.com/inconshreveable/ngrok/blob/master/docs/SELFHOSTING.md
从零搭建参看, https://morongs.github.io/2016/12/28/dajian-ngrok/
已经写好的搭建脚本,参看 https://www.jianshu.com/p/b81bb6a3c0b9
如果脚本安装失败,可能是有些依赖没有,例如 apt-get
如果脚本失败,可能是依赖没装好,一般就是 go 没装,试下下面
安装 go
如果没有 apt-get yum,使用下面
按教程的做法是这样的
开启服务后,服务端报错 Failed to read message: remote error: bad certificate , 客户端端报错 x509: cannot validate certificate for xx.xx.xx.xx because it doesn't contain any IP SANs
搜索客户端报错,按 此文解决 ,在最后一句生成证书的命令前加上以下命令,就解决了
ngrok 客户端会自动生成一个随机子域名或者用户自定义一个,总之无论如何都会有一个域名,这就会导致 ip 域名无效, 例如 http://92832de0.1.1.1.1 ->localhost:80 , 解决办法就是改源码,去掉随机生成的 subdomain
删掉 %x. rand.Int31() , 以及该文件第一行引入的 math/rand ,重新编译出服务端与客户端即可。这样不加 -subdomain 选项就不会有子域名
NPS 是一款轻量级、高性能、功能强大的 内网穿透 代理服务器。目前支持 tcp、udp 流量转发 ,可支持任何 tcp、udp 上层协议(访问内网网站、本地支付接口调试、ssh 访问、远程桌面,内网dns解析等等……),此外还 支持内网 http 代理、内网 socks5 代理 、 p2p 等 ,并带有功能强大的 web 管理端。
背景
码云地址:https://gitee.com/mirrors/nps
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)