自己搭建一个内网穿透服务

3 篇文章 0 订阅
2 篇文章 0 订阅

硬件准备

  • 云服务器一台
  • 已备案的域名
  • 本地电脑(我这里是win10系统)

云服务器环境准备

本地电脑环境准备

  • maven
  • git
  • java

最终实现目标

实现访问 http://云服务器ip:9000 相当于访问 http://127.0.0.1:8001

docker安装lanproxy

  • 先在/root下创建一个文件夹lanproxy

在这里插入图片描述

  • 创建两个文件

在这里插入图片描述
第一个文件夹

mkdir config-data

第二个启动lanproxy的docker脚本
在这里插入图片描述

docker run -d \
           --name lanproxy-server \
           -p 8090:8090 \
           -p 4900:4900 \
           -p 4993:4993 \
           -p 9000-9100:9000-9100 \
           --restart=always \
           -e LANPROXY_USERNAME="admin" \
           -e LANPROXY_PASSWORD="admin" \
           -v ${LANPROXY_DIR}/config-data:/root/.lanproxy            franklin5/lanproxy-server
  • 启动lanproxy
sh start.sh

在这里插入图片描述
第一次启动如果没有下载docker镜像会下载一会
我这里已经下载了所有没有演示

  • docker 查看运行结果
docker ps

在这里插入图片描述

  • 本地访问lanproxy控制台
 http://云服务器ip:8090

在这里插入图片描述
当然这里前提是需要在云服务器控制台设置防火墙把8090端口打开
我这里是腾讯云服务器,阿里云差不多
在这里插入图片描述
输入用户名和密码
就是start.sh脚本里设置的(admin,admin)
在这里插入图片描述
到这里lanproxy就已经安装完成了

配置nginx

  • 实现lanproxy.域名访问到lanproxy控制台
    在这里插入图片描述

  server {
  	  listen       80;
  	  server_name       lanproxy.域名;
  
  	  proxy_set_header X-Forwarded-Host $host;
  	  proxy_set_header X-Forwarded-Server $host;
  	  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  
  	  location / {
  		  proxy_pass http://云服务器ip:8090;
  		  proxy_connect_timeout 600;
  		  proxy_read_timeout 600;
  	  }
  }

添加域名解析
在这里插入图片描述

修改后重启nginx
在这里插入图片描述
远程访问试试
在这里插入图片描述
访问成功

到这里nginx就配置完了

lanproxy控制台配置

在这里插入图片描述
名称随便取,填完提交即可
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这里相当于使访问云服务器的9000端口便相当于访问本地的8001端口

lanproxy客户端配置

先去下载客户端
码云下载地址

在这里插入图片描述
下载到本地
进入到文件夹中
在这里插入图片描述
输入cmd 打开黑窗口
在这里插入图片描述
打包

mvn package

在这里插入图片描述
生成一个文件 进去
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

进入config文件夹
修改配置
在这里插入图片描述
client.key就是下面的密钥
在这里插入图片描述
修改完后退出到bin目录
进去双击启动
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

访问测试

先在本地看看8001端口是否正常运行
在这里插入图片描述
测试没问题
替换成云服务ip:9000再测试
这里记得先把云服务器的防火墙9000端口打开
在这里插入图片描述
在这里插入图片描述
也没问题
但是用IP:端口方式访问不太好
不计较的可以忽略下面内容
修改nginx进行代理
使访问win.域名相当于访问云服务器的9000端口
在这里插入图片描述

  server {
  	  listen       80;
  	  server_name       win.域名;
  
  	  proxy_set_header X-Forwarded-Host $host;
  	  proxy_set_header X-Forwarded-Server $host;
  	  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  
  	  location / {
  		  proxy_pass http://云服务器ip:9000;
  		  proxy_connect_timeout 600;
  		  proxy_read_timeout 600;
  	  }
  }

重启nginx
在这里插入图片描述

添加域名解析 打开防火墙9000端口
在这里插入图片描述
再次访问
在这里插入图片描述

多端口代理

上面使用9000端口穿透了本地的8001端口
如果要穿透本地的其他端口
那就再添加几条配置呗
多大的事!
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
记得打开防火墙端口
在这里插入图片描述
在这里插入图片描述
就这?

  • 2
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值