使用lanproxy进行内网穿透

229 阅读2分钟

准备

1、备案域名一个 2、服务器一台,本文以window服务器系统为例,配置可高可低,自行选择。 3、lanproxy源码 其中proxy-client为客户端,需要在本地环境运行,proxy-server为服务端,需要在服务器端运行。 4、运行环境:jdk8(本地+服务器均须安装),并配置环境变量 5、域名解析至服务器 6、开启相应的端口访问规则

服务端:

1、修改配置 打开proxy-server下conf文件夹,修改config.properties文件 `server.bind=0.0.0.0 #服务端口 server.port=4900

#ssl配置 server.ssl.enable=false 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=5601 #管理后台帐号 config.admin.username=管理后台帐号 #管理后台密码 config.admin.password=管理后台密码` 修改服务器端口为你的端口,修改管理后台帐号密码

2、启动 打开proxy-server下bin文件夹,双击startup.bat执行文件。

3、管理后台配置 在服务器端,浏览器输入http://localhost:5601/ 输入配置文件中的帐号密码,登录进入。

image.png

点击客户端管理-添加客户端,此时客户端管理中列表显示为【离线】状态。

image.png

image.png

点击配置管理,点击刚才创建的客户端名称,添加配置

image.png

公网端口:即为你域名+端口访问的地址 后端IP端口,即为映射转发请求到本地的ip+端口,一般IP都用127.0.0.1

我这里配置了两个公网映射,因为同时有两个项目打开测试,为了不起冲突。

image.png

客户端(本地环境)

1、修改配置 打开proxy-client下conf文件夹,修改config.properties文件 `

client.key=您的密钥 #SSL ssl.enable=false ssl.jksPath=test.jks ssl.keyStorePassword=123456

#域名 server.host=www.xxx.com

#端口 #default ssl port is 4993 server.port=4900 ` client.key为上一步中管理后台添加的客户端密钥 server.host 为解析的域名 server.port 为服务端proxy-server下conf文件夹config.properties配置文件中的server.port端口

2、启动 打开proxy-client下bin文件夹,双击startup.bat执行文件。

本地环境下,浏览器打开www.xxx.com:5601, 输入帐号密码,打开客户端,查看客户端状态,显示为在线(此处需要打开服务器5601端口)。

image.png

至此访问www.xxx.com:5601 将代理访问到本地127.0.0.1:8080

因支付测试,回调地址端口须为80端口,故此在服务器上增加nginx反向代理配置,即访问www.xxx.com 直接代理到127.0.0.1:8080。

去掉端口增加Nginx代理

1、配置 上传nginx安装包至服务器,打开nginx下conf文件夹中nginx.conf配置文件,增加80端口监听服务。 `server { listen 80; server_name www.xxx.com;

    charset utf-8;        

    location / {
       proxy_pass      http://127.0.0.1:5900;
       proxy_set_header        Host            $host;
       proxy_set_header        X-Real-IP       $remote_addr;
       proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
       client_max_body_size 10m; 
       client_body_buffer_size 128k; 
       proxy_connect_timeout 90; 
       proxy_send_timeout 90; 
       proxy_read_timeout 90; 
       proxy_buffer_size 4k; 
       proxy_buffers 4 32k; 
       proxy_busy_buffers_size 64k; 
       proxy_temp_file_write_size 64k;
          
   }
}

`

2、nginx启动,访问www.xxx.com 成功转发到本地 http://127.0.0.1:8080