代码拉取完成,页面将自动刷新
基于netty的TCP/Http请求转发代理程序
在特定的网络环境或安全审计要求下,我们可能会面临网络被限定为单向访问的情况,本工具可以实现在单向网络中设置代理从而实现双向访问的目的。可简单用作内网穿透工具。也可以配置成LVS负载均衡服务
将项目克隆到本地
修改配置文件
项目包含两个独立配置文件,分别为
netty-nat
|--netty-client
|----properties.yml
|--netty-server
|----properties.yml
client对应properties配置:
#内部连接池大小,内部连接只需转发外部与被代理服务间业务数据,可重用通道
internal:
channel:
init:
num: 10
#服务端ip和端口
server:
host: 127.0.0.1
port: 8083
#隧道信息,一条完整的外部>>服务端>>客户端>>被代理服务间的通路称为隧道
tunnel:
#tunnel示例,代理本地的mysql数据库服务和nacos服务
#服务端监听端口
- serverPort: 9000
#客户端连接的被代理服务端口
clientPort: 3306
#客户端连接的被代理服务端口
clientHost: 127.0.0.1
- serverPort: 9001
clientPort: 8848
clientHost: 127.0.0.1
#接入请求的接入密码
password: '123456'
server对应properties配置:
#内部通信使用的端口,需要与客户端的internal.server.port值保持一致
internal:
server:
port: 8083
#接入请求的接入密码
password: '123456'
打包
项目中使用maven管理第三方依赖,打包使用maven-jar-plugin,自定义打包行为定义在项目根目录的assembly.xml中,打包时执行:
mvn clean package -Dmaven.test.skip=true
部署
项目打包后获得 项目名称-版本号.zip
解压后获得
java -jar nat-server-1.0-SNAPSHOT.jar &
启动服务端java -jar nat-client-1.0-SNAPSHOT.jar &
启动客户端此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。