跳到正文
FunCoding

搜索

搜索文档、Skill 和 MCP

Sandbox 代理示例

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

官方提供一个 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 工具权限的独立判定。