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

张开发
2026/4/4 6:34:02 15 分钟阅读
FRP 多客户端配置问题排查与解决完整文档
FRP 多客户端配置问题排查与解决完整文档一、问题背景用户拥有一台云服务器作为 FRP 服务端,多台内网服务器作为 FRP 客户端,需要实现内网服务的公网访问。在配置过程中遇到了以下问题:访问域名mpxcx.xxx.com时被错误跳转到www.xxx.cn服务端配置文件格式错误导致启动失败多个独立客户端之间的 HTTP 路由冲突版本差异带来的兼容性问题二、环境信息服务器环境云服务器: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的服务。原因分析多客户端 HTTP 路由冲突:两个独立的 FRP 客户端都通过 HTTP 协议连接同一个服务端,服务端的全局路由表在处理域名时出现混乱配置文件格式混用:同时使用 INI 和 TOML 格式,某些 FRP 版本可能存在路由解析兼容性问题路由优先级不确定:当多个客户端声明不同域名时,服务端的路由决策可能出错验证方法# 查看服务端 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.comDNS 配置:添加泛解析*.xxx.com→***.***.***.***方案二:统一配置文件格式将所有客户端转换为 TOML 格式,避免格式混用。四、问题二:服务端启动失败问题现象./frps-c./frps.toml

更多文章