针对 algertc/alpr-dashboard Docker 项目的两个即插即用补丁。两者均可在不修改或重新构建上游镜像的情况下部署。
logger-fix/ — 异步日志记录 + 清理节流将内置的同步日志传输(每条日志调用时全文件读取+重写)替换为每次调用写入的 appendFileSync 写入器和每分钟一次的延迟修剪。同时限速每次 POST 图像清理扫描的频率。
实测影响(130 KB base64 图像负载,匹配真实 Blue Iris 警报):原本导致原始服务器无响应的持续车牌识别速率(每个测试窗口内 60 个 POST 完成数为 0)现在运行平稳,CPU 使用率平坦且吞吐量饱满。
完整表面图及原始数据见 logger-fix/perf/。
middleware-exploit-mitigation/ — CVE-2025-29927 nginx 覆盖层随附镜像使用了 Next.js 15.0.3,该版本存在 CVE-2025-29927 漏洞(CVSS 9.1,通过 x-middleware-subrequest 头进行身份验证绕过)。上游在 Next.js >= 15.2.3 中已修复,但不更新上游镜像则无法修补。
此补丁在应用前端部署一个 nginx:alpine 辅助容器,在每个代理请求中剥离绕过头。无需更改应用,无需重建镜像。
global.__loggerInitialized) 以及 fileStorage.cleanupOldFiles 对 fs/promises.readdir 的使用。它目前可针对当前的 logger.js 和存储代码运行,但并非“正确”的修复——正确的修复是在上游代码中用非阻塞实现替换 LimitedLineTransport。此补丁是一种在那之前安全运行的方法。两个补丁均易于安装和回退,与上游版本无关。
针对截至 2026-04 的 algertc/alpr-dashboard:latest 进行了测试。请固定到已知良好的镜像标签以确保稳定性;尤其是日志记录补丁依赖于可能随上游更改而变化的实现细节。
MIT — 参见 LICENSE。