故障排除 与 错误代码详解
故障排除
-
先查询后端状态
大概会得到以下输出
- 正常输出
● PortForwardGo.service - PortForwardGo Service
Loaded: loaded (/etc/systemd/system/PortForwardGo.service; enabled; preset: enabled)
Active: active (running); 1min ago
Main PID: 114514 (PortForwardGo)
Tasks: 8
Memory: 13.2M
CPU: 589ms
CGroup: /system.slice/PortForwardGo.service
└─114514 /opt/PortForwardGo/PortForwardGo --config backend.json --log run.log
systemd[1]: Started PortForwardGo.service - PortForwardGo Service.
- 启动失败
● PortForwardGo.service - PortForwardGo Service
Loaded: loaded (/etc/systemd/system/PortForwardGo.service; enabled; preset: enabled)
Active: activating (auto-restart) (Result: exit-code); 1s ago
Process: 114514 ExecStart=/opt/PortForwardGo/PortForwardGo --config backend.json --log run.log (code=exited, status=1/FAILURE)
Main PID: 114514 (code=exited, status=1/FAILURE)
CPU: 589ms
systemd[1]: PortForwardGo.service: Main process exited, code=exited, status=1/FAILURE
systemd[1]: PortForwardGo.service: Failed with result 'exit-code'.
查看 Active
后面的内容
-
如果是
active (running)
说明后端运行正常, 请直接看下一步
-
如果是
activating (auto-restart)
说明后端运行异常, 需要进行进一步排查
查看 Process
或 Main PID
后面的内容
-
如果是
(code=exited, status=203/EXEC)
说明后端程序没有可执行权限
赋予程序可执行权限后重新查询后端状态
chmod +x /opt/PortForwardGo/PortForwardGo # /opt/PortForwardGo 为默认服务名的安装位置, 如果您安装了多个后端请自行修改
-
如果是
(code=killed, signal=SEGV)
说明后端程序不完整
请重新安装后端, 然后重新查询后端状态
-
如果是
(code=exited, status=1/FAILURE)
则有两种可能: 后端崩溃 或 运行出错
先查看后端日志, 再查看服务日志
-
如果是
(code=exited, status=2/INVALIDARGUMENT)
请查看服务启动的参数是否正常
- 根据日志关键信息, 在下方查询解决方案, 并按照方案解决
服务日志
查看日志时请注意左侧的日志时间, 以最新的日志为准
下方没有写的错误大部分是由操作系统返回的, 可使用
Google 翻译
或询问 ChatGPT
Unknown key name '...' in section 'Service', ignoring.
系统差异 或 systemd 版本号不同, 不会影响后端运行, 忽略即可
This program can only be run on AMD64 processors with v2/v3/v4 microarchitecture support.
说明安装架构不对, 可能是由于脚本识别 CPU 错误, 您可以使用离线升级脚本来解决问题
选择对应 AMD64 等级的二进制有助于提升性能, 如果不清楚可以直接使用 v1
发布页面的文件名
amd64v1
就是 AMD64 等级v1
的包, 以此类推
如何判断 CPU 的 AMD64 等级
-
QEMU Virtual CPU
QEMU 虚拟化的 CPU 型号, 隐藏了真实型号, 等级大概率为
v1
(可使用下方通用方法检测)如果碰到这种 CPU 建议联系商家将 CPU Model 改为
host
或host-passthrough
使用这种 CPU 的商家不是 故意为之 就是默认设置不调整 (没有技术), 建议远离 (也可能是做集群热备需要)
此类 CPU 可能没有 AES 硬解 (可以联系商家开启), 如果没有 AES 硬解可以考虑使用 SecureX 隧道 以提升性能
-
Common KVM processer
QEMU (KVM) 虚拟化的 CPU 型号, 隐藏了真实型号, 等级大概率为
v1
(可使用下方通用方法检测)如果碰到这种 CPU 建议联系商家将 CPU Model 改为
host
或host-passthrough
使用这种 CPU 的商家不是 故意为之 就是默认设置不调整 (没有技术), 建议远离 (也可能是做集群热备需要)
此类 CPU 可能没有 AES 硬解 (可以联系商家开启), 如果没有 AES 硬解可以考虑使用 SecureX 隧道 以提升性能
-
通用方法
panic: ....
后端运行崩溃, 请附上崩溃日志联系客服
后端日志
查看日志时请注意左侧的日志时间, 以最新的日志为准
下方没有写的错误大部分是由操作系统返回的, 可使用
Google 翻译
或询问 ChatGPT
日志一般分为 6 种
[-]
UNKNOWN 未分级信息[+]
DEBUG 调试信息[I]
INFO 一般信息[!]
WARNING 警告[E]
ERROR 错误[F]
FATAL 致命错误
只有 警告, 错误, 致命错误 信息需要关注
[Config]
请检查配置文件位置是否正确
配置文件格式是否正确
[Transparent]
请检查 IP 透明配置是否正确
可尝试关闭 IP 透明
[License]
授权相关问题, 无法获取授权状态 (网络问题)
可以设置后端代理解决问题
[Proxy]
请检查后端代理配置是否正确
后端代理能否正常联通
[gRPC API Client]
-
x509
-
网站 DNS 解析结果是否正常
-
网站 HTTPS 证书是由有效 (是否吊销, 过期 或 证书链不完整)
-
-
unexpected HTTP status code received from server
-
检查 CDN 是否支持并启用 HTTP/2 和 gRPC
-
CDN 回源是否正常
-
面板是否正常运行
521, 522, 523 错误均为 CDN 回源的网络问题
524 为处理超时 (请优化数据库性能)
-
-
rpc error: code = Internal desc = stream terminated by RST_STREAM with error code: INTERNAL_ERROR
正常现象无需理会
Cloudflare 会断开长时间不通信的连接
-
core version not match
面板和后端的版本不匹配, 下列方法任选其一
-
升级面板和全部后端到最新
-
降级后端版本, 使后端版本与面板版本一致
-
Unauthorized
- 授权码是否正确
- 是否更换过面板 API
- 授权可用数量是否用尽
- 是否可以连接到授权网站 API
- 后端设置的代理是否工作正常
Load failed
一般由操作系统返回的, 可使用 Google 翻译
或 询问 ChatGPT