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 run

proxy.proxyUrl 优先于 OPENCLAW_PROXY_URL。代理 URL 必须使用 http://(HTTPS 目标通过 HTTP CONNECT 隧道支持)。

Gateway Loopback 模式

proxy:
  loopbackMode: gateway-only  # gateway-only(默认)| proxy | block
  • gateway-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、http2 socket 和原生插件可能绕过 Node 级代理路由
  • IRC 是原始 TCP/TLS,不经过托管 HTTP 代理

相关页面