Skip to content

v2.2.4 起低版本 iOS 无法打开管理前端,显示 500 Type error #1215

Description

@sunfing

运行环境

Debian GNU/Linux 12 6.1.0-9-amd64

Nezha 版本

v2.2.4 ~ v2.2.8 均异常,v2.2.3 正常

描述问题

低版本 iOS 设备访问 Nezha Dashboard 管理前端时,页面会显示 500 Type error,Safari 和 Chrome iOS 均可复现。

经过版本回退测试,发现:

  • v2.2.3:低版本 iOS 可以正常打开管理前端,刷新也正常
  • v2.2.4 起:低版本 iOS 打开或刷新管理前端会显示 500 Type error
  • v2.2.4 ~ v2.2.8 均存在该问题
  • Android 浏览器访问正常
  • 较新版本 iOS 18/26 设备访问正常,但暂时未获取具体版本号

目前已确认出现问题的 iOS 版本:

  • iOS 15:异常
  • iOS 16.4.1:异常
  • iOS 16.6:异常

因此怀疑问题可能从 v2.2.4 的管理前端更新后引入,与低版本 iOS WebKit 的兼容性有关。

服务端日志中对应请求大多为 200,未看到明显的后端 HTTP 500,因此该页面显示的 500 Type error 更像是前端运行时异常,而不是后端真正返回 500。

复现步骤

  1. 部署 Nezha Dashboard v2.2.4 或更高版本,例如 v2.2.8
  2. 使用低版本 iOS 设备访问 Dashboard 管理前端
  3. 使用 Safari 或 Chrome iOS 打开面板
  4. 页面显示 500 Type error
  5. 刷新页面后仍可能复现
  6. 回退 Dashboard 到 v2.2.3
  7. 同一台低版本 iOS 设备可以正常打开和刷新管理前端

对比结果:

  • v2.2.3:正常
  • v2.2.4 ~ v2.2.8:异常

配置信息

Docker Compose 主要配置如下:

services:
  nezha-dashboard:
    image: ghcr.io/nezhahq/nezha:<version>
    container_name: nezha-dashboard
    restart: always
    ports:
      - "8008:8008"
    volumes:
      - /opt/nezha/dashboard/data:/dashboard/data
    environment:
      - TZ=Asia/Shanghai

Dashboard 通过 Nginx Proxy Manager 反代访问。

Agent 对接方式为 IP:Port 直连:
Agent 对接地址:公网 IP:8008
Agent TLS:关闭

该问题只影响 Dashboard 管理前端在低版本 iOS 上的访问,Agent 连接和 Android/较新 iOS 访问均正常。

附加信息

补充测试结果:

异常设备:

  • iOS 15:Safari / Chrome iOS 均显示 500 Type error
  • iOS 16.4.1:Safari / Chrome iOS 均显示 500 Type error
  • iOS 16.6:Safari / Chrome iOS 均显示 500 Type error

正常设备:

  • Android 浏览器正常
  • 较新版本 iOS 正常
  • 同一环境下回退到 Nezha v2.2.3 后,低版本 iOS 正常

已排除:

  • 不是 Agent 对接问题
  • 不是单一浏览器问题,因为 Safari 和 Chrome iOS 均可复现
  • 不像是后端 HTTP 500,因为服务端日志中对应请求多数为 200
  • 不是单纯反代不可用,因为 Android 和较新 iOS 正常

怀疑范围:

问题可能从 v2.2.4 引入,可能与管理前端构建产物在低版本 iOS WebKit 上的兼容性有关。

已搜索相关 Issues,发现 #1031 曾反馈过旧版 1.9.11 在 iOS 16 Safari 下报 500,但该问题发生在 1.x 版本,且缺少 v2.2.3/v2.2.4 的回归对比。本问题复现于 v2.2.4 ~ v2.2.8,且 v2.2.3 正常,因此不是同一个版本范围的问题。

Image Image Image

验证

  • 我确认这是一个 nezha (哪吒面板) 的问题。
  • 我已经搜索了 Issues,并确认该问题之前没有被反馈过。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions