背景

内网中的服务器需要发布到外网中方问,通常用到这种情况是在做服务回调的时候,本地开发测试时用到

准备

准备一台独立IP的服务器

内网穿透工具lanproxy

<span data-type="color" style="color:rgb(36, 41, 46)"><span data-type="background" style="background-color:rgb(255, 255, 255)">lanproxy是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,目前仅支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。目前市面上提供类似服务的有花生壳、TeamView、GoToMyCloud等等,但要使用第三方的公网服务器就必须为第三方付费,并且这些服务都有各种各样的限制,此外,由于数据包会流经第三方,因此对数据安全也是一大隐患。</span></span>

<span data-type="color" style="color:#F5222D">Java实现,安装前需要安装配置JDK</span>
github开源地址:https://github.com/ffay/lanproxy

使用:

server配置

server的配置文件放置在conf目录中,配置 config.properties

server.bind=0.0.0.0

#与代理客户端通信端口
server.port=4900

#ssl相关配置
server.ssl.enable=true
server.ssl.bind=0.0.0.0
server.ssl.port=4993
server.ssl.jksPath=test.jks
server.ssl.keyStorePassword=123456
server.ssl.keyManagerPassword=123456

#这个配置可以忽略
server.ssl.needsClientAuth=false

#WEB在线配置管理相关信息
config.server.bind=0.0.0.0
config.server.port=8090
config.admin.username=admin
config.admin.password=admin

默认配置也可以,然后到bin目录下 启动即可

./startup.sh

<span data-type="color" style="color:rgb(36, 41, 46)"><span data-type="background" style="background-color:rgb(255, 255, 255)">打开地址 </span></span>http://ip:8090<span data-type="color" style="color:rgb(36, 41, 46)"><span data-type="background" style="background-color:rgb(255, 255, 255)"> </span></span>,使用上面配置中配置的用户名密码登录,进入如下代理配置界面

image.png | left | 827x355

image.png | left | 827x238

公网端口就是你服务器主机暴露出来的端口,后端IP端口是本机的端口

客户端

Java client的配置文件放置在conf目录中,配置 config.properties

#与在proxy-server配置后台创建客户端时填写的秘钥保持一致;
client.key=
ssl.enable=true
ssl.jksPath=test.jks
ssl.keyStorePassword=123456

#这里填写实际的proxy-server地址;没有服务器默认即可,自己有服务器的更换为自己的proxy-server(IP)地址
server.host=lp.thingsglobal.org

#proxy-server ssl默认端口4993,默认普通端口4900
#ssl.enable=true时这里填写ssl端口,ssl.enable=false时这里填写普通端口
server.port=4993
  • 安装java1.7或以上环境
  • linux(mac)环境中运行bin目录下的 startup.sh
  • windows环境中运行bin目录下的 startup.bat

其他平台客户端

不用java客户端的可以使用下面提供的各个平台的客户端,省去安装java运行环境

源码地址

https://github.com/ffay/lanproxy-go-client

发布包

https://github.com/ffay/lanproxy-go-client/releases

Last modification:November 24th, 2018 at 11:13 am
If you think my article is useful to you, please feel free to appreciate