深色模式
4.3 让同事真正打开:内网分层排查与小范围试用
上一节,机房排座系统已经在校内 Windows 主机上完成生产构建,也通过了本机核心流程和断网检查。
现在可以把访问地址发给同事了吗?
可以开始测试,但不要一口气发到整个教师群。先找同一间办公室的一台电脑,再走到机房,用两三位老师和模拟数据完成小范围试用。
第二章已经讲过 localhost、局域网 IP、端口、监听地址和 Windows 防火墙。这一篇不再背概念,而是把它们放进一条从近到远的排查路线。

先固定现场,不要边测边乱改
网络问题最怕同时变化:一会儿换端口,一会儿重启开发服务器,一会儿关闭防火墙,最后即使页面打开了,也不知道究竟是哪一步起作用。
开始测试前,先记录下面几项:
- 部署主机的局域网 IP。
- 项目实际使用的端口。
- 当前生产服务的启动时间和运行状态。
- 当前部署对应的 Git 提交。
- 本次访问使用的完整地址。
例如,部署主机 IP 是 192.168.1.23,项目端口是 3000,那么其他电脑访问的地址可能是:
text
http://192.168.1.23:3000真实地址应由 Agent 根据当前主机和项目配置检查,不要直接照抄示例。测试期间先保持端口、启动方式和 Git 版本不变。
第一层:在部署主机上测试两个地址
先在部署主机自己的浏览器里分别打开:
text
http://localhost:实际端口
http://部署主机局域网IP:实际端口如果 localhost 能打开,而局域网 IP 地址打不开,问题通常还没有离开这台主机。此时应该让 Agent 检查服务监听地址、实际端口和生产启动参数。
可以输入:
text
生产服务在部署主机上使用 localhost 可以打开,
但使用“局域网 IP + 端口”无法打开。
请只读检查当前生产启动方式、实际监听地址、端口和日志,
判断服务是否只监听本机。
请先解释最可能的原因和最小修改方案,不要修改业务代码,
不要更换端口,也不要执行防火墙操作。这一层没有通过,就先不要去机房测试。先让部署主机能够用自己的局域网地址访问,才能继续判断外部电脑的问题。
第二层:同办公室另一台电脑
第一层通过后,在同一办公室或同一网段找另一台电脑,用浏览器输入局域网地址。
这里不要只看首页。至少先完成登录,并打开一个需要读取数据库的页面。如果首页能显示,但登录后报错,问题可能不是网络,而是 NEXTAUTH_URL、数据库连接或登录配置仍然指向 localhost。
另一台电脑完全打不开时,按下面顺序记录:
- 浏览器中的完整地址。
- 页面是立即拒绝、一直转圈,还是打开后报错。
- 部署主机上的服务是否仍在运行。
- 两台电脑的 IP 和所在位置。
- Windows 防火墙是否曾出现过允许访问提示。
然后把完整现场交给 Agent:
text
当前项目已经在校内 Windows 主机上以生产方式运行,但另一台电脑无法正常使用。
请根据下面的信息分层分析:
- 部署主机局域网 IP:这里填写
- 项目端口:这里填写
- 本机 localhost 是否能打开:这里填写
- 本机使用局域网 IP 是否能打开:这里填写
- 另一台电脑所在位置和 IP:这里填写
- 浏览器中的完整地址和现象:这里填写
- ping 或端口测试结果:这里填写
- 服务启动日志:粘贴脱敏后的完整日志
请先判断问题最可能在哪一层,并给出一次只验证一个条件的排查顺序。
不要升级依赖,不要修改业务代码,不要关闭整体防火墙,
也不要建议绕过学校网络策略。Agent 应该先帮助判断服务、端口、监听地址和防火墙,而不是直接修改页面代码。
防火墙可以检查,不能直接关掉
Windows 防火墙可能会阻止其他电脑访问项目端口,但正确处理方式不是关闭整个防火墙。
如果 Agent 判断需要新增入站规则,必须先让它说明:
- 准备开放哪个具体端口。
- 允许哪些网络范围访问。
- 是否需要管理员权限。
- 学校是否允许个人修改这项设置。
- 以后怎样撤销这条规则。
老师确认学校管理要求后,才允许 Agent 协助执行。对于统一管理的学校电脑,直接把项目地址、端口和使用范围交给信息中心,比反复尝试管理员命令更可靠。
ping 只是辅助证据
ping 可以帮助判断两台电脑是否能通过 ICMP 找到对方,但它不能证明浏览器端口已经开放。
常见情况包括:
ping能通,但项目端口被防火墙拦截,网页仍然打不开。- 学校禁用了
ping,但浏览器可以正常访问项目。 - 页面能打开,但登录或数据库请求失败,问题已经不在基本连通性。
因此最终结论始终来自浏览器中的真实操作,而不是“屏幕上出现了几行回复”。
第三层:走到机房或另一办公室
同办公室电脑通过后,再到机房或另一栋楼测试。
如果办公室可以访问,机房却打不开,说明项目主机和服务本身大概率已经正常,问题可能出在网段隔离、无线客户端隔离、ACL 或其他校园网络策略上。
这时不要继续让 Agent 尝试内网穿透,也不要私自把项目暴露到公网。正确做法是整理一份网络问题记录,交给学校信息中心。
| 记录项 | 建议内容 |
|---|---|
| 测试时间 | 具体到日期和大致时刻 |
| 部署主机位置与 IP | 哪间办公室、哪个局域网地址 |
| 项目端口和完整地址 | 浏览器实际输入的地址 |
| 客户端位置与 IP | 哪间机房、哪台测试电脑 |
| 已通过的层级 | 本机、同办公室是否正常 |
| 失败现象 | 超时、拒绝连接、页面报错或登录失败 |
| 辅助测试 | ping 或端口测试结果,仅作为证据 |
| 期望范围 | 只允许哪些办公室或机房访问 |
信息中心需要的不是一句“系统打不开”,而是一份能快速定位网段和端口的现场记录。
页面打开后,要走完整业务流程
连通性通过后,继续使用完全模拟的班级、学生和机房数据完成业务验收。
| 验收场景 | 在另一台电脑上检查什么 |
|---|---|
| 登录测试账号 | 登录成功,地址跳转和会话正常 |
| 打开测试布局 | 布局内容与部署主机看到的一致 |
| 导入模拟名单 | 数据能够保存,错误提示清楚 |
| 完成一次排座 | 座位结果显示正确,可以手动调整 |
| 刷新并重新登录 | 数据没有只停留在浏览器内存中 |
| 打开投屏页面 | 班级、课程和座位信息显示完整 |
| 打开只读分享 | 只读用户不能进入不该修改的入口 |
如果页面能打开,但保存后部署主机看不到新数据,就把问题归到接口或数据库流程,不要继续修改网络设置。
排错时仍然坚持一次只处理一层:网络、登录、数据库、页面显示分别验证。
找两三位老师做小范围试用
自己测试通过后,邀请两三位真正可能使用系统的老师,按同一张任务单走一遍。
任务单可以很简单:
- 使用测试账号登录。
- 打开一个模拟机房布局。
- 导入一份模拟班级名单。
- 完成排座并调整两个座位。
- 刷新页面并打开投屏模式。
- 退出后重新登录,确认数据仍在。

收集反馈时,不要只问“好不好用”。让老师记录:
- 在哪台电脑、哪个位置操作。
- 做到哪一步出现问题。
- 浏览器显示了什么。
- 重新操作后是否还能复现。
- 这一步与真实工作习惯有什么差异。
这样得到的反馈才能交给 Agent 继续分析,也能区分网络问题和业务需求。
小范围试用仍然使用模拟数据
项目能在内网打开,不代表已经完成数据安全和权限验收。没有完成 4.4 的备份恢复、账号和交接检查前,不要批量导入真实学生名单。
把试用结果留下来
本篇结束时,建议保留三份简单记录:
- 内网访问测试记录:本机、同办公室、机房分别是否通过。
- 小范围试用反馈单:两三位老师完成任务时遇到的问题。
- 网络问题记录:需要信息中心处理时,提供地址、端口、位置和现象。
整个测试顺序可以概括为:
flowchart LR A[部署主机本机] --> B[同办公室另一台电脑] B --> C[机房或另一办公室] C --> D[完整业务流程] D --> E[两三位老师试用]
到这里,项目已经不只是“我电脑上能跑”,而是经过了目标用户的跨设备试用。
但今天能访问,不代表电脑重启、数据库出问题或负责人不在时仍然能恢复。下一篇,我们继续做服务重启、数据备份恢复和上线交接,给这个项目补上真正的持续使用能力。
封面
