之前做过一期FRP的视频,可以看:
注意:本教程面向高级玩家!!
一、架构说明
┌─────────────┐ ┌──────────────────┐ ┌─────────────┐
│ 用户访问 │ │ 腾讯云副服务器 │ │ openclaw机器 │
│ claw.xxx │───────▶│ frps + OpenResty │◀───────│ frpc │
│ .top │ │ xx.xx.xx.xx │ │ 内网服务 │
└─────────────┘ └──────────────────┘ └─────────────┘
│
▼
1Panel SSL + Basic Auth
二、服务端配置(frps)
2.1 配置文件路径
/opt/1panel/apps/frps/frps/data/frps.toml
2.2 完整配置
# 基础配置
bindAddr = "0.0.0.0"
bindPort = 7000
# Token 认证(必须)
auth.method = "token"
auth.token = "your-strong-token-here"
# HTTP/HTTPS 虚拟主机端口(用于 subdomain)
vhostHTTPPort = 8080
vhostHTTPSPort = 8443
# 子域名根域名
subdomainHost = "youweb.com"
# Dashboard 管理面板
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "your-dashboard-password"
# TLS 加密(可选,推荐开启)
#transport.tls.force = true
2.3 安全组/防火墙设置
# 开放端口
sudo ufw allow 7000/tcp # frp 主端口
sudo ufw allow 7500/tcp # Dashboard(建议仅内网访问)
sudo ufw allow 8080/tcp # HTTP 虚拟主机
sudo ufw reload
腾讯云控制台 → 安全组 → 添加规则:
入站:7000, 7500, 8080, 8443
三、客户端配置(frpc)
3.1 NAS 上安装 frpc
# 下载对应版本
wget https://github.com/fatedier/frp/releases/download/v0.61.1/frp_0.61.1_linux_amd64.tar.gz
# 解压
tar -zxvf frp_0.61.1_linux_amd64.tar.gz
cd frp_0.61.1_linux_amd64
# 移动到固定目录
sudo mkdir -p /opt/frpc
sudo cp frpc /opt/frpc/
sudo cp frpc.toml /opt/frpc/
3.2 配置文件
# frpc.toml
serverAddr = "xx.xx.xx.xx"
serverPort = 7000
# 认证
auth.method = "token"
auth.token = "your-strong-token-here"
# Dashboard(本地管理用)
webServer.addr = "0.0.0.0"
webServer.port = 7400
webServer.user = "admin"
webServer.password = "admin-password"
# ===== SSH 转发 =====
[[proxies]]
name = "nas-ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 2222
# ===== OpenClaw Web 服务(TCP 方式,配合 OpenResty) =====
[[proxies]]
name = "openclaw"
type = "tcp"
localIP = "127.0.0.1"
localPort = 18789
remotePort = 18789
3.3 启动 frpc
# 前台运行
./frpc -c frpc.toml
# 后台运行(systemd 方式)
sudo vim /etc/systemd/system/frpc.service
[Unit]
Description=FRP Client
After=network.target
[Service]
Type=simple
ExecStart=/opt/frpc/frpc -c /opt/frpc/frpc.toml
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl enable frpc
sudo systemctl start frpc
四、1Panel + OpenResty 配置
4.1 创建反向代理网站
登录 1Panel → 网站 → 创建网站
类型选择:反向代理
主域名:
claw.xx.com代理地址:
http://127.0.0.1:18789
4.2 开启 HTTPS
进入网站设置 → HTTPS
选择 Let's Encrypt
申请证书(自动 DNS 验证或手动验证)
4.3 配置 Basic Auth 认证
进入 OpenResty 配置 → 配置文件
在
location /块中添加:
location / {
proxy_pass http://127.0.0.1:18789;
# Basic Auth
auth_basic "Restricted";
auth_basic_user_file /www/sites/claw.xx.com/.htpasswd;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
生成密码文件:
sudo apt install apache2-utils
sudo htpasswd -c /www/sites/claw.xx.com/.htpasswd username
# 输入密码
4.4 安全加固建议
五、SSH 连接方式
# 通过 frp 穿透连接 NAS
ssh -p 2222 username@xx.xx.xx.xx
六、常见问题排查
七、安全建议
修改默认端口:不要使用 7000, 7500 等默认端口
强 Token:使用 16 位以上随机字符串
限制端口范围:frps 配置
allowPortsDashboard 不外放:仅监听 127.0.0.1 或加防火墙规则
SSH 禁用密码登录:使用密钥认证