云上部署
AIO Sandbox 在容器内部监听 0.0.0.0。部署到云主机时,不要把容器的 8080 端口直接发布到公网网卡上。推荐把沙盒保持在私网范围内,再通过反向代理或 Ingress 统一处理 TLS 和访问控制。
推荐拓扑
- 单机 VM 上把沙盒绑定到
127.0.0.1:8080,Kubernetes 上则通过ClusterIPService 暴露。 - 在 Nginx、云负载均衡或 Ingress Controller 处终止 TLS。
- 在边界层加鉴权,或者启用沙盒自身的
JWT_PUBLIC_KEY鉴权。 - 只对公网开放
80/443,不要在安全组或防火墙中放开8080。
方案 1:云主机 + Docker + Nginx
1. 仅绑定到本机回环地址
中国大陆用户可使用国内镜像:
2. 收紧云网络
- 只放行入站
80和443。 - SSH 仅对管理员 IP 段开放。
- 不要放行入站
8080。
3. 用 Nginx 对外发布
将 map 段放在 http 上下文中,然后配置站点:
4. 加鉴权
至少选择以下一种方式保护公网入口:
- 在反向代理或负载均衡层接入企业 SSO / IdP。
- 对仅管理员使用的环境启用 IP 白名单。
- 打开沙盒的
JWT_PUBLIC_KEY鉴权。
方案 2:Kubernetes + Ingress
给沙盒使用私有 Service,并通过 Ingress 统一对外发布。不要直接给沙盒 Service 配公网入口。
1. Deployment 和 Service
2. 通过 Ingress 对外发布
3. 云侧控制项
- 只让 Ingress 或云负载均衡对公网开放
80/443。 - 在 Ingress 或网关层加鉴权。
- 对共享集群优先启用 NetworkPolicy、私有子网和访问审计。
安全检查清单
- 保持沙盒的
8080监听为私网。 - 在流量进入沙盒前完成 TLS 终止。
- 对 VNC、code-server、MCP、文档等入口加鉴权。
- 生产环境配置 CPU 和内存限制。
- 监控容器日志、代理日志和健康检查。