本文章内容的视频版本:
要解决什么问题?
- 云服务器,性能太低,性能好的价格太贵
- 本地服务器,没有静态IP,
0. 什么是FRP
FRP 是一个高性能的反向代理应用,专注于将位于内网或防火墙后的服务器通过简单配置暴露到公网上。它支持多种协议,如 HTTP、HTTPS、TCP、UDP 等,非常适合需要远程访问内网服务的场景。
1. 整体思路
内网准备一台高性能服务器
外网准备一个云服务器,1C2G的就可以
基于frp做内网穿透,外部访问云服务器,中转到内网高性能服务器
2. 部署方案
2.1 基于Docker部署
安装docker
apt-get install docker.io
安装docker-compose
sudo curl -L "
https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname
-s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
2.2 服务端安装 frps
创建frps.toml
“`
bindPort = 17000
auth.token = “abc111”
管理面板配置
webServer.addr = “0.0.0.0”
webServer.port = 17500
webServer.user = “ccc”
webServer.password = “ccc123123”
允许的IP白名单(可选)
allow_ports = 7000-8000
“`
创建 docker-compose.yml
“`
version: ‘3’
services:
frps:
image: docker.unsee.tech/stilleshan/frps
container_name: frps
network_mode: host
volumes:
– ./frps.toml:/frp/frps.toml
restart: always
“`
注意防火墙开放端口:
sudo ufw allow 17000/tcp
sudo ufw allow 17500/tcp # 如果启用了 Dashboard
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload
2.3 本地服务器部署 frpc
建立frpc.toml配置文件
“`
serverAddr = “149.28.26.98”
serverPort = 17000
auth.token = “abc”
[[proxies]]
name = “web”
type = “tcp”
localIP = “127.0.0.1”
localPort = 80
remotePort = 1280
“`
建立docker-compose.yml
“`
version: ‘3’
services:
frpc:
image: docker.unsee.tech/stilleshan/frpc
container_name: frpc
network_mode: host
volumes:
– ./frpc.toml:/frp/frpc.toml
restart: always
“`
防火墙
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw reload