当前位置: 首页 > news >正文

FRP 多客户端配置问题排查与解决完整文档

FRP 多客户端配置问题排查与解决完整文档

一、问题背景

用户拥有一台云服务器作为 FRP 服务端,多台内网服务器作为 FRP 客户端,需要实现内网服务的公网访问。在配置过程中遇到了以下问题:

  1. 访问域名mpxcx.xxx.com时被错误跳转到www.xxx.cn
  2. 服务端配置文件格式错误导致启动失败
  3. 多个独立客户端之间的 HTTP 路由冲突
  4. 版本差异带来的兼容性问题

二、环境信息

服务器环境

  • 云服务器:CentOS 7.9,公网 IP:***.***.***.***
  • 内网服务器:多台 CentOS 7.9 机器

初始配置文件

服务端配置 (frps.ini - INI格式)
[common] bind_port = 7000 token = xxx dashboard_port = 7500 dashboard_user = admin dashboard_pwd = 9UX103hK log_file = ./frps.log log_level = info log_max_days = 3 vhost_http_port = 8080
客户端A配置 (frpc.ini - INI格式)
[common] server_addr = ***.***.***.*** server_port = 7000 token = xxx [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000 [mpxcx-web] type = http local_port = 80 custom_domains = mpxcx.xxx.com
客户端B配置 (frpc.toml - TOML格式)
serverAddr = "***.***.***.***" serverPort = 7000 auth.method = "token" auth.token = "xxx" [[proxies]] name = "xxx" type = "http" localIP = "127.0.0.1" localPort = 3001 customDomains = ["www.xxx.cn"] locations = ["/", "/api/", "/api/su-code-service/"] [[proxies]] name = "xxx-files" type = "http" localIP = "***.***.***.***" localPort = 36900 customDomains = ["www.xxx.cn"] locations = ["/static/"]

三、问题一:域名跳转问题

问题现象

访问mpxcx.xxx.com时,实际被跳转到了www.xxx.cn的服务。

原因分析

  1. 多客户端 HTTP 路由冲突:两个独立的 FRP 客户端都通过 HTTP 协议连接同一个服务端,服务端的全局路由表在处理域名时出现混乱
  2. 配置文件格式混用:同时使用 INI 和 TOML 格式,某些 FRP 版本可能存在路由解析兼容性问题
  3. 路由优先级不确定:当多个客户端声明不同域名时,服务端的路由决策可能出错

验证方法

# 查看服务端 HTTP 路由表curl-uadmin:9UX103hK http://127.0.0.1:7500/api/proxy/http# 测试域名路由curl-H"Host: mpxcx.xxx.com"http://***.***.***.***:8080curl-H"Host: www.xxx.cn"http://***.***.***.***:8080

解决方案

方案一:统一使用 subdomain_host(推荐)

服务端配置

bindPort = 7000 auth.token = "xxx" vhostHTTPPort = 8080 subDomainHost = "xxx.com" # 设置主域名

客户端配置

# 客户端A [[proxies]] name = "mpxcx-web" type = "http" localIP = "127.0.0.1" localPort = 80 subdomain = "mpxcx" # 实际域名: mpxcx.xxx.com # 客户端B [[proxies]] name = "xxx" type = "http" localIP = "127.0.0.1" localPort = 3001 subdomain = "www" # 实际域名: www.xxx.com

DNS 配置:添加泛解析*.xxx.com***.***.***.***

方案二:统一配置文件格式

将所有客户端转换为 TOML 格式,避免格式混用。


四、问题二:服务端启动失败

问题现象

./frps-c./frps.toml
http://www.jsqmd.com/news/572298/

相关文章:

  • 2026最权威的降重复率工具实测分析
  • 2-Ubuntu 16.04 国内源配置与系统优化实战
  • OpenMP实战避坑:你的C++并行程序为什么跑得比单线程还慢?
  • Qwen3.5-2B轻量模型效果展示:温度值0.3~0.9对图文回复稳定性影响
  • 微信小程序+Pixel Couplet Gen:构建可分享、可收藏的赛博春节体验
  • Unity导入FBX模型轴心老跑偏?3分钟搞懂Pivot和Center的区别与正确设置
  • BilibiliDown:3分钟掌握B站视频下载的终极免费工具
  • 告别重复造轮子:用快马平台高效生成ibbot开发脚手架与核心模块
  • eNSP实战:从零构建直连路由网络
  • 【PHP实战】微信域名拦截检测:利用get_headers函数高效识别封禁状态
  • 【测试之道】第四篇:分层测试论 —— 金字塔、奖杯与蜂巢:构建你的质量防御阵型
  • VibeVoice Pro开源镜像免配置部署:一键启动7860控制台实操手册
  • Spring Boot项目实战:用ShardingSphere-JDBC 5.3.2搞定PostgreSQL分库分表,附完整配置流程
  • 开源可部署科研AI:Pixel Epic终端在科技情报分析中的落地
  • GG3M 反熵增演化量化表达的具体落地案例
  • SWAT模型数据准备避坑指南:HWSD土壤库处理、气象数据转换那些最容易出错的地方
  • 3步打造微信记忆保险箱:普通人的数字时光守护指南
  • Windows任务栏改造指南:从传统到个性化的桌面美化方案
  • 别再只改YAML了!手把手教你用PyTorch从零实现BiFPN模块并集成到YOLOv8
  • Qwen3.5-9B快速部署指南:3步搭建Web界面,开启多模态AI对话
  • 3个核心优势:BG3 Mod Manager的模组管理创新特性
  • 从CVE-2025-65112到NPM投毒:手把手教你搭建安全的私有包仓库(以PubNet为例)
  • Pixel Epic效果惊艳:逻辑严密+结构清晰+数据可溯的研报生成实录
  • 为什么说SIMetrix是开关电源仿真的利器?8.3版本实测体验分享
  • HuggingFace如何成为AI开发者的必备工具?探索其核心功能与应用场景
  • 从零构建32位MIPS单周期处理器:Logisim实战与24条核心指令实现详解
  • Jetson嵌入式接口实战:i2c、spi、gpio、can、uart、485代码详解与避坑指南
  • PingFangSC字体专业配置与高效应用实践指南
  • Windows系统优化工具Win11Debloat使用指南
  • 优先级队列(堆)