在ServBay中配置FRP反向代理服务指南
FRP是一款高性能的反向代理工具,通过客户端-服务端架构实现内网穿透。本指南将指导ServBay用户使用frpc客户端配置安全隧道,实现本地服务的公网访问能力。
技术原理
FRP通过服务端(frps)与客户端(frpc)建立加密通信隧道,将内网服务映射至公网服务器。该方案支持TCP/UDP/HTTP/HTTPS等多种协议,适用于ServBay开发环境下的远程调试、API测试等场景。
环境准备
1. FRP客户端安装
按以下步骤部署frpc客户端:
- 访问GitHub Release页面下载对应版本
- 解压并部署至系统PATH(以macOS ARM架构为例):bash
tar -zxvf frp_0.61.1_darwin_arm64.tar.gz sudo cp frp_0.61.1_darwin_arm64/frpc /usr/local/bin/
1
2 - 验证安装:bash
frpc -v # frpc version 0.61.1
1
2
隧道配置实战
配置文件说明
创建frpc.toml
配置文件,基础结构如下:
toml
serverAddr = your-frps-server.com
serverPort = 7000
auth.method = token
auth.token = your_authentication_token
[[proxies]]
name = "test_web"
type = "http"
localPort = 80
customDomains = servbay.your-domain.com
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
配置项 | 功能说明 |
---|---|
serverAddr | FRP服务端公网地址 |
serverPort | FRP服务端通信端口(默认7000) |
auth.method | 服务端认证方式 |
auth.token | 服务端认证密钥 |
type | 代理类型(http/https/tcp等) |
localPort | 本地服务端口 |
customDomains | 对外访问域名 |
典型配置示例
将本地ServBay HTTPS服务映射到公网:
例子中:
- frp 服务器地址是
frps.servbay.demo
- 本地 ServBay 所配置的域名是
servbay.test
- 公网对外提供服务的域名是
test-frp.servbay.app
(域名必须 DNS 解析到 frp 服务器)
toml
serverAddr = frps.servbay.demo
serverPort = 7000
auth.method = "token"
auth.token = servbay
[[proxies]]
name = "servbay-frpc-demo"
type = "https"
customDomains = ["test-frp.servbay.app"]
[proxies.plugin]
type = "https2https"
localAddr = "127.0.0.1:443"
crtPath = "/Applications/ServBay/ssl/private/tls-certs/servbay.test/servbay.test.crt"
keyPath = "/Applications/ServBay/ssl/private/tls-certs/servbay.test/servbay.test.key"
hostHeaderRewrite = "servbay.test"
requestHeaders.set.x-from-where = "frp"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
启动服务:
bash
frpc -c frpc.toml
1
服务验证
- 浏览器访问映射域名:
https://test-frp.servbay.app
1 - 检查验证指标:
- 返回HTTP 200状态码
- 响应内容与本地服务一致
- SSL证书有效性验证
日志诊断
bash
frpc -c frpc.toml --log_level debug # 开启调试日志
tail -f /var/log/frpc.log # 实时监控日志
1
2
2
故障排查指南
现象 | 解决方案 |
---|---|
连接认证失败 | 检查auth.token配置与服务端是否一致 |
域名解析异常 | 确认DNS已正确解析到FRP服务端IP |
端口冲突 | 使用lsof -i :PORT 检查端口占用 |
隧道频繁断开 | 调整心跳参数:heartbeat_timeout = 30 |
方案优势
FRP方案为ServBay用户提供以下核心价值:
- 多协议支持满足复杂业务场景
- 配置热更新无需重启服务
- 原生级联代理支持多层内网穿透
- 开源架构保障数据安全可控
建议生产环境部署时启用TLS加密通信,并通过tls_enable = true
配置强制加密传输。