內(nèi)網(wǎng)穿透平臺(tái),類(lèi)似花生殼平臺(tái),這個(gè)平臺(tái)將內(nèi)網(wǎng)TCP服務(wù)暴露給外網(wǎng),支持HTTP websocket 等所有TCP協(xié)議。
讓世界各地的用戶(hù)能夠訪問(wèn)你本地內(nèi)網(wǎng)服務(wù)。
算力共享:家里部署大模型暴露給外網(wǎng)使用。
遠(yuǎn)程辦公:訪問(wèn)公司或家里內(nèi)網(wǎng)資源。
遠(yuǎn)程監(jiān)控:連接家或公司里攝像頭、監(jiān)控設(shè)備。
智能家居:遠(yuǎn)程控制家用智能設(shè)備。
開(kāi)發(fā)調(diào)試:遠(yuǎn)程調(diào)試和測(cè)試應(yīng)用程序。本地調(diào)試微信支付寶回調(diào)。
文件共享:訪問(wèn)和共享家里或辦公室內(nèi)網(wǎng)文件。
節(jié)約成本:例如將服務(wù)器全部放在家里或者辦公內(nèi)網(wǎng)供外部用戶(hù)訪問(wèn)。
其它場(chǎng)景
自己搭建這個(gè)內(nèi)網(wǎng)穿透平臺(tái)需要有一個(gè)域名(假設(shè)是example.com)和一臺(tái)外網(wǎng)服務(wù)器。
1、安裝webman-admin
2、在webman-admin后臺(tái)插件里安裝用戶(hù)模塊
3、在webman-admin后臺(tái)安裝內(nèi)網(wǎng)穿透模塊,需要restart 重啟
4、服務(wù)器安全組開(kāi)放8001端口
5、nginx 配置參考(DNS需要開(kāi)啟泛解析)
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; #注意這里不能開(kāi)啟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;
}
}
}
通過(guò)以上5個(gè)步驟完成內(nèi)網(wǎng)穿透服務(wù)端安裝。
假設(shè)需要將家里或者辦公室8787端口的HTTP服務(wù)開(kāi)放給外網(wǎng)
提示
內(nèi)網(wǎng)透?jìng)魇峭ㄓ玫模莣ebman專(zhuān)用。支持所有TCP服務(wù)的透?jìng)鳎ú幌抻脩?hù)C/C++ Java GO等服務(wù)的透?jìng)鳌?/p>
1、在剛搭建好的平臺(tái) http://example.com
注冊(cè)賬號(hào),會(huì)得到一個(gè)token
2、新建應(yīng)用,表單內(nèi)容填寫(xiě)類(lèi)似如下:應(yīng)用名我的應(yīng)用
域名test.example.com
,協(xié)議默認(rèn)HTTP,本地ip127.0.0.1
,本地端口8787
3、下載nat-client客戶(hù)端并解壓得到nat-client
可執(zhí)行文件和.env
配置文件
4、配置.env
配置文件NAT_HOST
填寫(xiě)example.com:8001
,NAT_TOKEN
填寫(xiě)token為第一步得到的token。
5、執(zhí)行 ./nat-client restart -d
啟動(dòng)
外網(wǎng)用戶(hù)在瀏覽器訪問(wèn) http://test.example.com
即可訪問(wèn)到你本地的HTTP應(yīng)用。
1、在剛搭建好的平臺(tái) http://example.com
注冊(cè)賬號(hào),會(huì)得到一個(gè)token
2、新建應(yīng)用,表單內(nèi)容填寫(xiě)類(lèi)似如下:應(yīng)用名我的應(yīng)用
域名test.example.com
,協(xié)議默認(rèn)HTTP,本地ip127.0.0.1
,本地端口8787
3、本地創(chuàng)建webman項(xiàng)目 composer create-project workerman/webman
4、進(jìn)入到webman目錄執(zhí)行 composer require webman/nat-client
5、設(shè)置 config/plugin/webman/nat-client/app.php,host填寫(xiě)example.com:8001
,token為第一步得到的token。
6、執(zhí)行 php start.php restart -d
外網(wǎng)用戶(hù)在瀏覽器訪問(wèn) http://test.example.com
即可訪問(wèn)到你本地的HTTP應(yīng)用。
假設(shè)要將家里或辦公室內(nèi)網(wǎng)的MySQL服務(wù)暴露給外網(wǎng)(這里僅測(cè)試,正常人不會(huì)這么干)。
1、新建應(yīng)用,將類(lèi)型選為T(mén)CP
2、保存得到透?jìng)鞯刂?br />
3、在任意服務(wù)器即可通過(guò)透?jìng)鞯刂吩L問(wèn)家里或者辦公室的MySQL服務(wù)