frp 是一个高性能反向代理,能把位于 NAT 或防火墙后的本地服务暴露到公网。支持 TCP、UDP、HTTP、HTTPS 协议,可通过域名把请求转发到内网服务,还提供 P2P 连接模式。
一、项目官方信息
| 项目 | 信息 |
|---|---|
| GitHub 仓库 | https://github.com/fatedier/frp |
| 中文文档 | https://github.com/fatedier/frp/blob/master/README_zh.md |
| 开源协议 | Apache-2.0 |
| 主要语言 | Go(约 84.9%) |
| Star 数 | 约 110k |
架构:服务端 frps 部署在有公网 IP 的服务器 A,客户端 frpc 部署在内网服务器 B。
二、官方图片
frp 架构示意图:

三、环境要求
- 公网服务器一台(运行 frps)。
- 内网机器一台(运行 frpc)。
- Linux/macOS/Windows 均可,下载对应架构二进制即可。
- 放行 frps 的 bindPort 与各 remotePort。
四、完整部署步骤
1. 下载二进制
到 https://github.com/fatedier/frp/releases 下载最新版本,解压得到 frps、frpc 与示例配置。
2. 服务端配置 frps.toml
# frps.toml
bindPort = 7000
3. 启动 frps
./frps -c ./frps.toml
4. 客户端配置 frpc.toml
# frpc.toml
serverAddr = "x.x.x.x"
serverPort = 7000
[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
5. 启动 frpc
./frpc -c ./frpc.toml
6. 验证
ssh -p 6000 user@x.x.x.x
即可连到内网机器的 22 端口。
7. systemd 自启
/etc/systemd/system/frps.service:
[Unit]
Description=frp server
After=network.target
[Service]
ExecStart=/usr/local/bin/frps -c /etc/frp/frps.tomr
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl enable --now frps
五、使用方法
暴露内网 Web 服务
[[proxies]]
name = "web"
type = "http"
localPort = 8080
customDomains = ["web.example.com"]
启用 Dashboard
# frps.toml
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "admin"
webServer.password = "admin"
访问 http://x.x.x.x:7500 查看隧道状态。
鉴权
# frps.toml
auth.token = "your_token"
# frpc.toml
auth.token = "your_token"
常用隧道场景
- SSH 隧道(TCP);
- 多 SSH 共享同一端口(STCP);
- 内网 Web 服务(HTTP/HTTPS);
- DNS 查询转发;
- Unix Domain Socket 转发;
- HTTPS 终止;
- P2P 模式。
六、常见问题 FAQ
1. 杀毒软件把 frpc 删了? frp 是反向代理工具,部分杀毒软件误报,把 frpc 加入白名单。
2. 连接被拒绝? 检查 frps 的 bindPort 与 remotePort 是否在防火墙放行;确认 frpc 的 serverAddr/serverPort 正确。
3. 如何配置 HTTPS? 在 frpc 配置里用 type=https 并设置 customDomains,或在 frps 上配置 TLS 证书。
4. 如何多客户端共用一个端口? 用 HTTP/HTTPS 类型的 vhostHTTPPort + customDomains 路由。
5. 如何热加载 frpc 配置?
启动 frpc 时加 --hotReload,修改配置后自动生效。
6. v2 什么时候出? 官方在开发中,基于 K8s/ServiceMesh 理念,与 v1 不兼容。
七、跳转链接
- GitHub 仓库:https://github.com/fatedier/frp
- Releases:https://github.com/fatedier/frp/releases
- 中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md
- Dashboard 示例:https://github.com/fatedier/frp/blob/master/doc/pic/dashboard.png