跳到主要内容

排障

先按症状对表,再用两条命令定位。表中每一条都来自真实发生过的问题,不是「可能的原因」清单。

症状对照表

症状 优先检查
浏览器打不开 地址里不需要端口(入口与门户、站点同在 443)。如果书签还带着 :9988 / :8899或旧的海外边缘路径,那些入口已取消,换回 https://<呼号>.mrrc.vlsc.net/。
证书警告 主路用的是真实证书,正常情况不应该有警告。有警告通常说明你连到了别的地址(或中间有个改流量的网络)。
502 Bad Gateway 两件事,按顺序查:
① 隧道在不在 —— 看隧道日志里还有没有 start proxy success;
② 电台服务在不在 —— 本机 8888是否在监听。隧道活着但服务没起,就是 502。
404 unknown instance 这个呼号在 Hub 的注册表里没有对应条目,或者隧道端口与注册表不一致。去问管理员核对 —— 自己猜端口没用。
登录页出来了,但控制台黑屏 看浏览器控制台里是哪一条数据通道被拒:
4001 = 未授权(口令/会话问题)
4003 = 角色拒绝(最常见:拿监听口令去连了发射音频那条通道,这是设计如此)
能听,不能发 你用的是监听口令,或者进的是 /listen页面。改用主口令从根路径登录。
登录反复 429 限流是 5 次失败 / 300 秒。注意隧道方式下这是全局桶:别人输错会连带锁住你。等 5 分钟,或换主路口令前先确认对方没在试。
音频卡顿 / 断续 依次看:上行带宽占用、同时在收听的人数、瀑布图帧率。带宽紧张时先降瀑布帧率(频谱比音频更吃带宽),再考虑减少收听人数。
换机 / 重签证书之后 502 本机看起来一切正常,但入口一直 502。原因几乎总是只换了证书文件、没重启进程 —— 证书是启动时读进内存的。盒子 systemctl restart mrrc-modern,桌面版退出应用再打开。判据与清单见 维护 · 换机与迁移。
入口串台 / 时好时坏(旧实例没下线) 撤销过的旧机器仍在运行,可能占住门户后来分配给别人的隧道端口,表现为别人的入口时通时断。两件事一起做:旧机器上停服务并确认 frpc 进程真的退出(macOS 退出应用曾留下孤儿进程),必要时请维护者查 frps 上的代理名与端口归属。见 维护 · 退出与撤销。
入口返回 502 / 404 / 无响应(先分清哪一层) 404 = Hub 不认这个呼号(注册表没有,或已被撤销);502 = 隧道不在、服务没起,或证书没被信任;无响应/超时 = 这一跳根本没到 Hub。按下面「怎么区分是哪一层」对号入座。
主路突然全站 502,但隧道日志正常 去查 Hub 到你的实例这一跳的证书校验。Hub 按实例名校验你的证书(公钥钉在信任包里),证书过期、名字不符或没被钉进去,都会以 502 表现,而不是给出证书错误。
自助申请提交了,一直没动静 两种情况:命中呼号库的当场自动核验;库外的转人工,要多等一会儿 —— 库外不等于冒用(新执照、低活跃都可能不在库里)。申请状态与既有授予记录可以在注册页下方看到。
注册页返回 429 /apply按来源 IP 限流(约 10 次/分钟)。等一下再试。注意这里用的是真实客户端 IP(与实例侧的登录限流不同)。
重启电脑后连不上 隧道会自动回来,电台服务不会。按接入 · 重启之后手动起服务。
换 Wi-Fi / 切 5G 后掉线 隧道会自动重连,通常几秒内恢复。「TCP 还活着但对端已失联」那种掉线(拔网线、换 Wi-Fi)由实例侧的会话心跳闸门兜底:经应用「接入云端」上线的实例会自动设为 5 秒,手动配置的默认关闭。不放心就确认电台已停发。

两条诊断命令

90% 的问题用这两条就能定位到是哪一层。

# 1) 隧道这一跳健康吗
tail -20 "$HOME/Library/Application Support/mrrc-fleet/frpc-<呼号>.log"
#   看到 login to server success + start proxy success  = 隧道正常

# 2) 从公网看整条链路健康吗
curl -s -o /dev/null -w '%{http_code}\n' https://<呼号>.mrrc.vlsc.net/api/health
#   401 = 隧道 + Hub 路由 + 实例鉴权 三层全通
#   502 = 隧道在,但电台服务没起
#   404 = Hub 不认这个呼号(注册表没这行)
用 curl -s,不要用 curl -sI

-I发的是 HEAD 请求。登录页只接受 GET,用 HEAD 去问会拿到 405,看起来像出错,其实站点是好的。想看状态码就用上面这种 -s -o /dev/null -w的写法。

日志在哪

隧道 ~/Library/Application Support/mrrc-fleet/frpc-<呼号>.log(另有 .out.log / .err.log)
电台服务 按接入页方式启动时在 /tmp/mrrc-src/server.log
Hub 侧访问日志 Hub 上的 /var/log/nginx/mrrc-hub.access.log —— 只记路径,不记查询串
证书续期 Hub 上的 /var/log/mrrc-hub-cert.log(每天 8:00 自动跑)

怎么区分是哪一层出问题

链路上有四跳,每一跳的失败表现都不一样。按这张表对号入座:

表现 问题在哪
局域网 8888都打不开 最底层 —— 电台服务本身。跟 Hub 无关,先去产品站排障。
局域网正常,公网 502 隧道这一跳 —— 看隧道日志,或服务没起来。
公网 404 Hub 路由 —— 注册表里没有这个呼号,或端口不一致。
公网能出登录页,但数据通道连不上 角色或鉴权 —— 看 4001 / 4003。
换机/重签证书后:局域网正常、公网 502 进程没重启 —— 证书是启动时读的,重启即可;也可能是新证书尚未进 Hub 的信任包(30 秒内自动完成)。
公网时通时断、或串到别人的入口 端口被旧实例占用 —— 旧机器没真正下线(撤销不切断隧道)。停掉旧机器的服务与隧道进程。
一条通用的分诊顺序

从最靠近电台的一端往外查:局域网 → 隧道 → Hub 路由 → 角色。反过来从外往里查,会在「是网络问题还是配置问题」之间反复摇摆。

还是解决不了 → 让维护者进来看一眼(远程协助),或 提 issue,附上隧道日志与 api/health的状态码。
本页事实基线:2026-10-16 现场复核;症状条目均来自真实发生过的问题(含 2026-10-11 实例生命周期取证)。