之前遇到联调设备,希望现网设备上报数据推送到本地开发环境测试推送接口的场景都是使用的uTools里面的内外网穿透。但是现在uTools已经关闭了这个内外网穿透的插件,一直也在找比较好的替换。用过frp、Ngrok,要么要收费,要么配置麻烦。今天来说说Lanproxy,有web配置界面,非常好理解,客户端也很丰富,使用也很简单,关键是用了下,感觉还很稳定。
搭建Frp博客:https://oy6090.top/posts/2dd14627/
一、环境搭建
服务端、客户端下载地址:Lanproxy下载
我是java开发的,所以本机是有java环境的,下载的客户端直接就可以下载这个proxy-java-client,因为用的是windows,所以也下载一个windows的客户端。
二、服务端准备
- 需要一个外网的服务器(我有个阿里云的),配置不要求多高
- 有固定外网IP或者域名(域名的话需要认证,我这里测试的是ip)
三、服务端安装
第一步:将下载的proxy-server这个包copy到服务器上
第二步:解压,zip包的解压命令 unzip 包名
unzip proxy-server-0.1.zip
第三步:修改配置文件
cd proxy-server-0.1/conf
vi config.properties
第四步: 启动
nohup sh startup.sh
四、服务端配置
4.1 添加客户端
- 客户端名称:根据自己来定义,例如:oyt
- 客户端密链:点击旁边的生成随机密钥
4.2 配置管理
- 代理名称:可以随便设置
- 公网端口:就是外网请求的端口
- 后端IP端口:就是本地的项目内外ip跟端口
五、客户端启动
5.1 使用exe可执行程序方式启动
实也是命令启动,命令:
client_windows_amd64.exe -s 服务器IP -p LanProxy服务端口 -k 客户端生成的key -ssl false
- 服务器IP,如果用域名,要配域名解析
- LanProxy服务端口与-ssl一定要对应,比如用4900 -> -ssl false
注意
:如果这条命令做了个批处理bat, 处理命令注意client_windows_amd64.exe与bat的相对位置
client_windows_amd64.exe -s 120.76.131.* -p 4900 -k 87b~~~(填自己的) -ssl false
注意
:-p 4900 这个地方看自己服务端配置文件中配置
出现 connSuccess 就是连接成功,云服务器记得开端口和安全组策略
5.2 java客户端启动
配置文件目录与修改
注意
:
- jksPath,如果有更换,注意从服务端拷贝一个到本地客户端
- ssl.enable值与端口对应
- 下载的java客户端是没有配置client.key的,注意补上
六、验证
访问地址: 120.76.130.*:7070
这里如果客户端不在线,会返回CLIENT OFFLINE,意思就是到LanProxy已经成功,LanProxy到客户端不通,返回的也很形象。
七、大致原理
实际上就是一个端口映射与长连接(底层没有细看),配置的映射端口不能重复,显然客户端配置是有限的。
七、总结
- 服务端部署简单、配置明确,支持ssl
- 配置客户端有界面
- 客户端配置简单明了、客户端支持多平台方式
可以说还说非常不错的,方便我们广大开发朋友做本地联调,我非常喜欢。希望能方便大家做本地联调。