背景:
把自己本地的網站,服務分享到外網。可控性強。
原計划使用ngrok搭建,官網https://ngrok.com/ 用2天都沒完成,遇到各種奇奇怪怪的坑。沒有完成,而且最新開源版本是1.7已經幾年沒有改動了。
所以更換為:frp來搭建,無官網
github:https://github.com/fatedier/frp
正題:
准備工作:
VPS(公網服務器)
下載源碼:https://github.com/fatedier/frp/releases
服務端:
把frp_0.32.1_linux_amd64.tar.gz放到服務器上,
也可以可以直接在服務器上下載:
wget https://github.com/fatedier/frp/releases/download/v0.32.1/frp_0.32.1_linux_amd64.tar.gz
然后解壓
tar -zxvf frp_0.32.1_linux_amd64.tar.gz
文件夾更換名字
cp -r frp_0.32.1_linux_amd64 frp
把文件夾放到自己定義的目錄
然后進入目錄:(我的是)
cd /usr/local/frp
流程:
開始設置配置:
因為是服務端,使用到的是:frps(啟動程序),frps.ini(配置文件)
vi frps.ini
修改為:
[common] bind_port = 7000 dashboard_port = 7500 token = 12345678 dashboard_user = admin dashboard_pwd = admin vhost_http_port = 10081 vhost_https_port = 10443
- “bind_port”表示用於客戶端和服務端連接的端口,這個端口號我們之后在配置客戶端的時候要用到。
- “dashboard_port”是服務端儀表板的端口,若使用7500端口,在配置完成服務啟動后可以通過瀏覽器訪問 x.x.x.x:7500 (其中x.x.x.x為VPS的IP)查看frp服務運行信息。
- “token”是用於客戶端和服務端連接的口令,請自行設置並記錄,稍后會用到。
- “dashboard_user”和“dashboard_pwd”表示打開儀表板頁面登錄的用戶名和密碼,自行設置即可。
- “vhost_http_port”和“vhost_https_port”用於反向代理HTTP主機時使用。
保存:wq
啟動服務端;
/usr/local/frp/frps -c frps.ini
監控服務端狀態地址:http://xx.xx.xx.xx:7500/
客戶端:
解壓壓縮包
客戶端:frpc(啟動程序),frpc.ini(配置文件)
標記配置文件:
[common] server_addr = xx.xx.xx.xx server_port = 7000 token = 12345678 [rdp] type = tcp local_ip = 127.0.0.1 local_port = 3389 remote_port = 7001 [web] type = http custom_domains = xx.xx.xx.xx local_ip = 127.0.0.1 local_port = 8080
- “server_addr”為服務端IP地址,填入即可。
- “server_port”為服務器端口,填入你設置的端口號即可,如果未改變就是7000
- “token”是你在服務器上設置的連接口令,原樣填入即可。
服務端啟動命令:(需要進入到frp文件夾中)
./frpc -c ./frpc.ini
2個通道啟動成功
http訪問地址就是http://xx.xx.xx.xx:10081——>127.0.0.1:8080
這是簡單部署,如果需要更高級的玩法可以看官方文檔(也有中文的):
https://github.com/fatedier/frp/blob/master/README_zh.md
最后
沒有VPS(公網服務器)的,或者覺得麻煩的,網上也有很多不少免費的服務端,只需要下載對應客戶端進行稍微配置,這里不細講。
公網服務器1台
其他:
如果出現:
是沒有權限:
解決:
chmod 777 frps
參考文章: