Skip to content
FunCoding

Search

Search docs, Skills and MCP

Sandbox 代理示例

理解官方 CONNECT 代理的域名规则、启动入口和过滤边界。

This page has not been translated into English yet. The original Chinese version is shown below.

官方提供一个 Node.js HTTP CONNECT 代理示例,供 sandbox 网络控制实验使用。它展示域名与端口筛选,不是完整的生产代理配置。

示例实际允许的连接

说明开头只提到 example.com,但示例代码的 ALLOWED_DOMAINS 实际包含 example.com 和 googleapis.com。匹配规则允许域名本身及其子域,且端口必须为 443。

请求情况示例行为
CONNECT 到允许域名或其子域的 443 端口建立 TCP 隧道并转发数据
域名不匹配或端口不是 443返回 403
普通 HTTP 请求而非 CONNECT返回 405
建立上游连接失败返回 502

筛选依据来自 CONNECT 目标。建立隧道后转发的是字节流,示例不会解析加密后的 HTTP 路径、方法或正文,不能把域名规则理解为具体 API 的授权。

与 sandbox 连接

示例在 8877 端口监听。官方通过 QWEN_SANDBOX_PROXY_COMMAND 指定启动该脚本的命令,让代理与 sandbox 配合运行;脚本位置、Node 可执行文件和 sandbox 的实际网络路径应对应当前环境。

验证时应从 sandbox 内发起请求,分别检查允许目标和拒绝目标。仅在宿主上看到代理进程运行,不足以证明 sandbox 流量经过该代理。

部署前需要补齐的边界

示例没有提供代理客户端认证,也未显式绑定仅 loopback 地址;不能仅凭它是本地脚本就认为其他主机无法连接。域名字符串允许列表也不等于对解析后的 IP 地址进行了额外校验。

需要更严格网络策略时,应结合实际 provider 的网络设置、监听范围和代理实现验证。此示例本身不能证明所有出站路径都已受控,也不改变 Qwen Code 工具权限的独立判定。