在云主机上部署 内网穿透服务开发者经常需要把内网服务穿透出去进行在线测试,都会需要一个公网的地址

经常使用的内网穿透工具有:花生壳,ngrok,魔法隧道等,但是这些域名都是第三方随机的,自定义域名的都是收费。

在网上找到一个开源的内网穿透工具,有server端部署在互联网上的主机,client部署在内网中。

所以本文讲解一下怎么用lanproxy搭建一个内网穿透的服务

搭建环境 一台公网的服务器(本文使用的是Ubuntu 16.04.3 LTS),运行lanproxy服务端 服务器JDK的环境(本文使用的openjdk 1.8.0_151) 客户端机器,运行lanproxy客户端,也需要java的环境需要安装jdk和maven 搭建过程 获取 lanproxy 的源码 并编译 去lanproxy的github地址去获取源码到本地 git clone git@github.com:ffay/lanproxy.git 进入项目目录下 执行mvn package进行大包编译,打包编译的文件在distribution目录下,包括client和server 配置并启动 server端 在proxy-server-0.1文件夹小的conf是server端的配置文件

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

config.server.bind=0.0.0.0 # 服务页面管理访问地址 config.server.port=8090 # 服务页面管理访问端口 config.admin.username=admin # 服务页面管理访问用户名 config.admin.password=admin # 服务页面管理访问用密码 配置完成之后可以上该文件加到传服务器上,执行下面的命令 scp -r proxy-server-0.1 user@premote_ip:remote_dolder

在服务端执行proxy-server-0.1/bin文件夹下的startuo.sh,服务端启动

在浏览器上访问上面的你的 服务器ip + prot就可以看到管理页面了

输入上面你配置的用户名密码登录进去,进去配置

首先添加一个客户端:

添加成功后在客户端管理那可以看到刚刚添加的客户端:

然后在对刚刚添加成功的客户端进行配置:

代理名称随便输入,一般都用本地代理服务的名称方便产看

一个客户端代理可以配置多个本地服务端口 client端 在proxy-client-0.1文件夹小的conf是clent端的配置文件

client.key=key # 这个key就是服务端中客户端管理的客户端秘钥 ssl.enable=false ssl.jksPath=test.jks ssl.keyStorePassword=123456

server.host= # 这个添加服务端地址,可以是配置的域名也可以是公网Ip

#default ssl port is 4993 server.port=4900 # 服务端端口 这个客户端 是java版本的所以需要jdk环境,配置完成后在window执行bin目录下的 startup.bat,在linux(mac)环境中运行bin目录下的 startup.sh