OpenClaw 可将运行时 HTTP 和 WebSocket 流量路由到运营商管理的正向代理,用于中央出口控制、SSRF 防护和网络可审计性。
使用场景
- 中央策略:统一出口策略,无需每个 HTTP 调用点单独处理网络规则
- DNS 重绑定防御:减少应用层 DNS 检查与实际出站连接之间的时间差
- 可审计性:在出口边界记录允许和拒绝的目标
- 操作控制:强制执行目标规则、网络分段、速率限制或出站 allowlist
配置
proxy:
enabled: true
proxyUrl: http://127.0.0.1:3128或通过环境变量:
OPENCLAW_PROXY_URL=http://127.0.0.1:3128 openclaw gateway runproxy.proxyUrl 优先于 OPENCLAW_PROXY_URL。代理 URL 必须使用 http://(HTTPS 目标通过 HTTP CONNECT 隧道支持)。
Gateway Loopback 模式
proxy:
loopbackMode: gateway-only # gateway-only(默认)| proxy | blockgateway-only:本地 Gateway WebSocket 流量直连,绕过代理proxy:Gateway loopback 流量也通过代理block:拒绝 loopback Gateway 控制平面连接
流量覆盖范围
| 流量类型 | 代理状态 |
|---|---|
fetch、node:http/https、WebSocket 客户端 | 通过代理路由 |
| APNs 直连 HTTP/2 | 通过 APNs CONNECT 辅助路由 |
| Gateway 控制平面 loopback | 仅本地 loopback Gateway URL 直连 |
| IRC | 原始 TCP/TLS,不经过 HTTP 代理 |
验证
openclaw proxy validate --proxy-url http://127.0.0.1:3128
# 带自定义检查
openclaw proxy validate --allowed-url https://example.com --denied-url http://169.254.169.254/手动验证:
curl -x http://127.0.0.1:3128 https://example.com/ # 应成功
curl -x http://127.0.0.1:3128 http://127.0.0.1/ # 应被阻断
curl -x http://127.0.0.1:3128 http://169.254.169.254/ # 应被阻断推荐阻断目标
代理应阻断:loopback(127.0.0.0/8、::1/128)、RFC1918 私有网络、链路本地地址(169.254.0.0/16)、云元数据服务(169.254.169.254)、多播地址等。
限制
- 不是 OS 级网络沙箱
- 原始
net、tls、http2socket 和原生插件可能绕过 Node 级代理路由 - IRC 是原始 TCP/TLS,不经过托管 HTTP 代理
相关页面
- security-threat-model-atlas — 威胁模型(SSRF 防护相关)
- security-incident-response — 安全事件响应