技术博客

可选运行时绑定缺失时,边缘 Worker 如何安全 …

一个新版边缘站点通过了构建、单元测试和多轮基础 HTTP 冒烟检查,但真实浏览器首次打开 HTML 页面时仍返回 500。这里的运行时绑定,是平台在部署时为应用提供的缓存、图片处理等能力。继续用简单请求验证时大多正常,带浏览器请求头的导航却能稳定复现失败。

这类差异说明“路由能返回响应”不足以代表真实访问路径安全。浏览器可能触发 HTML 缓存、图片优化或其他只在特定请求条件下执行的分支。

证据与回滚

新版本上线后,最初一批普通 HTTP 检查全部成功。随后使用真实浏览器导航复现了持续错误。由于故障出现在生产路径,版本立即回滚到上一已知正常版本,而不是继续在异常版本上试错。

回滚恢复访问后,运 …

用精确单域名代理规则修复错误直连

同一个网站在外部网络可以正常打开,在一台 Windows 工作站上却持续超时。浏览器、命令行和应用接口都受影响,但其他需要代理的网站仍然可用。

这种现象很容易被误判为网站宕机、证书异常或代理客户端整体失效。真正有效的排查顺序,是先把远端服务、本机解析和流量分流拆开验证。

现象与证据

外部探测确认首页和接口都能返回成功响应,证书链也有效。这说明服务端、域名证书和公开路由并没有整体故障。

本机的直接访问却连接到与外部解析不一致的地址并最终超时。与此同时,通过现有本地代理发送同样的请求可以成功。这组对照把问题范围缩小到了本机的解析与分流链路,而不是网站应用本身。

进一步检查代理客户端的活动规则后发现 …

用数据库对账验证跨模块业务流程

模块单测和页面构建全部通过,并不等于一条业务流程能够从开始走到正确的最终状态。物流平台的一个流程可能跨越主数据、仓储、运输、承运商、计费、园区和 OpenAPI。任何一个事务边界、状态映射或事件消费遗漏,都会让单个模块看似正常而全链路失败。

这次验收要建立覆盖全部业务域的冒烟测试(smoke test),并逐步核对数据库结果;重复已有测试无法覆盖这个目标。

先备份并限定范围,再写入测试数据

测试前对当前数据库做完整备份并记录校验信息。所有新增业务编码使用统一运行前缀,更新和删除只作用于本轮创建的数据。

测试数据按要求保留,以便复核失败现场;工具同时生成可选清理 SQL,但不会自动执行。另建临时 …

构建生产级 WMS RF:仓库权限、幂等、离线草稿 …

把旧 WMS RF 迁移到新的移动技术栈,不能只把页面搬到手机尺寸。RF 是仓库执行入口,会直接改变库存、任务和设备状态,必须处理身份、仓库隔离、并发领取、弱网重试和真实硬件。

这次实现采用 Ionic Vue 与 Capacitor,PWA 和 Android 共用业务代码。后端继续使用现有 WMS 领域服务作为唯一状态机,移动接口只负责认证范围、任务编排、扫码校验、幂等和适合手持设备的响应。

仓库范围必须进入身份

UPM 增加 RF 操作角色和仓库授权。登录后的 JWT 携带允许访问的仓库范围,后端从认证上下文解析当前操作者。

客户端不能通过请求参数伪造公司或仓库。切换仓库时也必须在服务端 …

用迁移矩阵和真实冒烟测试推进遗留 TMS 迁移

迁移一个遗留 TMS,最容易落入的陷阱是把“菜单已经出现”和“业务已经迁移”画上等号。旧系统包含订单、调度、承运商、执行、异常、回单、轨迹、竞价、报表、财务和移动端等大量入口,仅复制页面骨架无法证明流程可以工作。

这次迁移先建立功能矩阵,再按完整业务链实施。每个旧入口都必须标记为迁移、合并、替代或明确移除,并记录新路由、接口、状态机和验收场景。没有分类的页面不能被算作完成。

从页面清单转向完整业务链

迁移批次围绕业务链组织:

运输订单
→ 任务与调度
→ 承运商分配或竞价
→ 提货、在途与异常
→ 签收和 POD
→ 费用、对账与发票

每个动作都需要明确的状态迁移、权限边界和重复请求语义。客户 …

无 TUN 启动 Codex:让代理脚本自动适配端 …

我一直使用桌面快捷方式,在不开启 TUN 的情况下为 Codex 单独设置本地代理。一次应用和代理客户端升级后,双击快捷方式不再启动 Codex,也没有清楚的错误提示。

检查发现 Codex 安装本身正常,真正的问题是启动脚本和全局配置都写死了旧代理端口,而代理客户端已经切换到新端口。脚本在启动应用前检测失败并直接退出。

不再猜测端口

修复后的 PowerShell 脚本按以下优先级选择代理:

  1. 用户显式传入的 Proxy 参数;
  2. Windows 当前用户代理设置;
  3. 没有有效代理时明确报错并停止。

系统代理可能是简单的 host:port,也可能按 HTTP、HTTPS 分项配置。脚本统一解 …