# [OPEN] docker-chromium-404 ## 症状 - Docker 生产环境中,发料单明细增量同步启动浏览器后报错:`Handshake status 404 Not Found` ## 当前现象 - 已确认不是多 worker 竞争导致的旧症状。 - 已确认 `DrissionPage` 在 Docker 中进入了自动端口模式。 - 当前需要采集 Chromium 实际调试地址、`/json/version` 返回内容、以及握手前的连接目标。 ## 初始假设 - 假设 1:Chromium 虽然启动了,但 DevTools HTTP 接口没有真正暴露在 `127.0.0.1:`。 - 假设 2:Chromium 暴露的并不是标准 DevTools Browser WebSocket 地址,DrissionPage 连到了错误的 ws 路径。 - 假设 3:容器内存在反向代理/网关拦截,导致本地调试端口请求拿到 HTML 404 页面。 - 假设 4:当前 Chromium 启动参数与 Debian slim 镜像内核能力不兼容,浏览器进程启动不完整但未直接抛出更明确异常。 - 假设 5:DrissionPage 在当前版本下对 Docker 中的 `headless=new` 或自动端口流程存在兼容性问题。 ## 计划 - 第一步:只加调试插桩,不改业务逻辑。 - 第二步:让用户在 Docker 中复现,回收调试日志。 - 第三步:根据证据确认根因后,再做最小修复。 ## 已完成 - 已在 `browser_login/login.py` 的 `get_page()` 增加调试插桩。 - 插桩会输出: - DrissionPage 最终计算的 `address` - Chromium 实际 `browser_path` - 启动参数列表 - 握手失败后对 `http://
/json/version` 与 `http://
/json/list` 的探测结果