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

硬件准备

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

云服务器环境准备

  • docker (云服务器docker搭建)
  • nginx(我这里用的是Openresty)
  • java

本地电脑环境准备

  • maven
  • git
  • java

最终实现目标

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

docker安装lanproxy

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

自己搭建一个内网穿透服务_第1张图片

  • 创建两个文件

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

mkdir config-data

第二个启动lanproxy的docker脚本
自己搭建一个内网穿透服务_第2张图片

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

自己搭建一个内网穿透服务_第3张图片
第一次启动如果没有下载docker镜像会下载一会
我这里已经下载了所有没有演示

  • docker 查看运行结果
docker ps

自己搭建一个内网穿透服务_第4张图片

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

自己搭建一个内网穿透服务_第5张图片
当然这里前提是需要在云服务器控制台设置防火墙把8090端口打开
我这里是腾讯云服务器,阿里云差不多
自己搭建一个内网穿透服务_第6张图片
输入用户名和密码
就是start.sh脚本里设置的(admin,admin)
自己搭建一个内网穿透服务_第7张图片
到这里lanproxy就已经安装完成了

配置nginx

  • 实现lanproxy.域名访问到lanproxy控制台
    自己搭建一个内网穿透服务_第8张图片

  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
自己搭建一个内网穿透服务_第9张图片
远程访问试试
自己搭建一个内网穿透服务_第10张图片
访问成功

到这里nginx就配置完了

lanproxy控制台配置

自己搭建一个内网穿透服务_第11张图片
名称随便取,填完提交即可
自己搭建一个内网穿透服务_第12张图片
自己搭建一个内网穿透服务_第13张图片
自己搭建一个内网穿透服务_第14张图片

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

lanproxy客户端配置

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

自己搭建一个内网穿透服务_第15张图片
下载到本地
进入到文件夹中
在这里插入图片描述
输入cmd 打开黑窗口
自己搭建一个内网穿透服务_第16张图片
打包

mvn package

自己搭建一个内网穿透服务_第17张图片
生成一个文件 进去
自己搭建一个内网穿透服务_第18张图片
在这里插入图片描述
自己搭建一个内网穿透服务_第19张图片

进入config文件夹
修改配置
自己搭建一个内网穿透服务_第20张图片
client.key就是下面的密钥
在这里插入图片描述
修改完后退出到bin目录
进去双击启动
自己搭建一个内网穿透服务_第21张图片
自己搭建一个内网穿透服务_第22张图片
在这里插入图片描述

访问测试

先在本地看看8001端口是否正常运行
自己搭建一个内网穿透服务_第23张图片
测试没问题
替换成云服务ip:9000再测试
这里记得先把云服务器的防火墙9000端口打开
自己搭建一个内网穿透服务_第24张图片
自己搭建一个内网穿透服务_第25张图片
也没问题
但是用IP:端口方式访问不太好
不计较的可以忽略下面内容
修改nginx进行代理
使访问win.域名相当于访问云服务器的9000端口
自己搭建一个内网穿透服务_第26张图片

  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端口
在这里插入图片描述
再次访问
自己搭建一个内网穿透服务_第27张图片

多端口代理

上面使用9000端口穿透了本地的8001端口
如果要穿透本地的其他端口
那就再添加几条配置呗
多大的事!
自己搭建一个内网穿透服务_第28张图片
自己搭建一个内网穿透服务_第29张图片

自己搭建一个内网穿透服务_第30张图片
记得打开防火墙端口
在这里插入图片描述
自己搭建一个内网穿透服务_第31张图片
就这?

你可能感兴趣的:(服务器,docker,centos,nginx,内网穿透,docker,linux,centos)