写在前面
很多人想在服务器上做“能点网页”的自动化:登录后台、发布文章、跑回归测试……最省事的方式之一,就是用 Headless Chromium + Remote Debugging (CDP)。这篇把我常见的坑和一套可复用的启动方式写清楚。
你需要的东西
- Linux 服务器(root/普通用户都行)
- Chromium/Chrome(二选一)
- 允许本机回环访问的调试端口(建议只监听 127.0.0.1)
一条命令启动 Headless Chromium(推荐模板)
把下面这条当“模板”,按需改端口/目录:
nohup /usr/bin/chromium-browser \
--headless=new \
--no-sandbox \
--remote-debugging-address=127.0.0.1 \
--remote-debugging-port=18800 \
--user-data-dir=/tmp/openclaw-chromium \
>/tmp/chromium-openclaw.log 2>&1 &
检查是否起来:
ss -tlnp | grep 18800
curl -s http://127.0.0.1:18800/json/version | head
常见踩坑(非常实用)
1) --no-sandbox 到底要不要?
在容器/部分 VPS 环境里,不加会直接起不来;但加了会降低安全边界。建议:
- 优先给机器正确的 sandbox 能力(更安全)
- 如果必须 --no-sandbox:把调试端口只绑 127.0.0.1,别暴露公网
2) user-data-dir 一定要独立
多人/多任务共享同一个 profile 很容易互相污染(cookie、登录态、扩展、缓存)。每个自动化任务单独一个目录最省心。
3) 字体/中文渲染问题
服务器缺字体会导致截图/渲染乱码。可以装一套基础字体(比如 Noto CJK),并确认 locale。
4) 内存太小就加 swap
Chromium + 自动化在 1G~2G 机器上很容易 OOM。加 swap、调低并发,比“反复重启”靠谱得多。
如何接入 OpenClaw 这类自动化工具(思路)
核心就是让工具连到你的 CDP 地址:
{
"browser": {
"cdpUrl": "http://127.0.0.1:18800",
"headless": true,
"attachOnly": false
}
}
然后就能做:打开页面、填写表单、点击按钮、发布文章……
安全建议(别踩雷)
- 不要把后台密码直接发在聊天里;能用“浏览器接管/Relay”就用 Relay。
- CDP 端口不要暴露公网;至少要有访问控制。
- 需要自动化时再启动 Chromium,用完就关。
总结
一句话:把浏览器当服务跑(只给本机访问),再让自动化工具去连 CDP,稳定性会高一个量级。
评论0
暂时没有评论