内网穿透平台
详细介绍
内网穿透平台,类似花生壳平台,这个平台将内网TCP服务暴露给外网,支持HTTP websocket 等所有TCP协议。
让世界各地的用户能够访问你本地内网服务。
特点
- 不需要本地有外网ip,不需要本地暴露80端口,只要本地能访问外网即可,无需担心80端口被运营商封锁。
- 不管是否是webman服务都可以被访问
- 支持HTTP协议,支持TCP透传
场景
算力共享:家里部署大模型暴露给外网使用。
远程办公:访问公司或家里内网资源。
远程监控:连接家或公司里摄像头、监控设备。
智能家居:远程控制家用智能设备。
开发调试:远程调试和测试应用程序。本地调试微信支付宝回调。
文件共享:访问和共享家里或办公室内网文件。
节约成本:例如将服务器全部放在家里或者办公内网供外部用户访问。
其它场景
购买后搭建教程
自己搭建这个内网穿透平台需要有一个域名(假设是example.com)和一台外网服务器。
1、安装webman-admin
2、在webman-admin后台插件里安装用户模块
3、在webman-admin后台安装内网穿透模块,需要restart 重启
4、服务器安全组开放8001端口
5、nginx 配置参考(DNS需要开启泛解析)
upstream webman {
server 127.0.0.1:8787;
keepalive 10240;
}
server {
server_name example.com www.example.com;
listen 80;
access_log off;
root /home/www/webman/public;
location ^~ / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://webman;
}
}
}
upstream nat {
server 127.0.0.1:8001;
#keepalive 10240; #注意这里不能开启keepalive
}
server {
server_name *.example.com;
listen 80 default_server;
access_log off;
root /home/www/webman/public;
location ^~ / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Connection "";
if (!-f $request_filename){
proxy_pass http://nat;
}
}
}
通过以上5个步骤完成内网穿透服务端安装。
测试
假设需要将家里或者办公室8787端口的HTTP服务开放给外网
提示
内网透传是通用的,非webman专用。支持所有TCP服务的透传,包括不限用户C/C++ Java GO等服务的透传。
Linux系统
1、在刚搭建好的平台 http://example.com
注册账号,会得到一个token
2、新建应用,表单内容填写类似如下:应用名我的应用
域名test.example.com
,协议默认HTTP,本地ip127.0.0.1
,本地端口8787
3、下载nat-client客户端并解压得到nat-client
可执行文件和.env
配置文件
4、配置.env
配置文件NAT_HOST
填写example.com:8001
,NAT_TOKEN
填写token为第一步得到的token。
5、执行 ./nat-client restart -d
启动
外网用户在浏览器访问 http://test.example.com
即可访问到你本地的HTTP应用。
MacOS/Windows/Linux系统通用
1、在刚搭建好的平台 http://example.com
注册账号,会得到一个token
2、新建应用,表单内容填写类似如下:应用名我的应用
域名test.example.com
,协议默认HTTP,本地ip127.0.0.1
,本地端口8787
3、本地创建webman项目 composer create-project workerman/webman
4、进入到webman目录执行 composer require webman/nat-client
5、设置 config/plugin/webman/nat-client/app.php,host填写example.com:8001
,token为第一步得到的token。
6、执行 php start.php restart -d
外网用户在浏览器访问 http://test.example.com
即可访问到你本地的HTTP应用。
TCP透传示例
假设要将家里或办公室内网的MySQL服务暴露给外网(这里仅测试,正常人不会这么干)。
1、新建应用,将类型选为TCP
2、保存得到透传地址
3、在任意服务器即可通过透传地址访问家里或者办公室的MySQL服务