功能简介
AppBase 内置 CORS、Origin 校验、HTTP/GraphQL/Realtime 限流和 Project API 服务开关。DNS、证书、反向代理、防火墙、跨网络连通和上游 Provider 出口仍由部署环境负责;这些外部责任不能包装成平台已提供的专线或零信任产品。
当前支持范围
- 网络访问控制(PARTIAL):内置 CORS、Origin 校验、HTTP 与 Realtime 限流、Project API 开关;DNS、证书、代理和跨网络连通性仍由部署环境负责。
适用场景
- 排查浏览器 CORS 与 WebSocket Origin 问题。
- 按 Project 关闭未使用 API。
- 为公网入口设计限流、代理与证书责任边界。
前置条件
- 已为 Web 应用配置 Platform/Origin。
- 反向代理正确转发 HTTP 与 WebSocket。
- 明确 Project header、Host、TLS 与外部 DNS 的管理方。
Console 操作路径
Console → Project → Settings/Platforms 配置 Web Hostname 与服务开关。实例级 DNS、证书、Proxy、防火墙和网络出口通常不在 Project Console 内完成。
SDK 示例
SDK · TypeScript
import { Client } from 'appbase-web-sdk';
const client = new Client()
.setEndpoint('https://<APPBASE_HOST>/v1')
.setProject('<PROJECT_ID>');
// 浏览器 endpoint、当前页面 Origin 与 Console 中登记的 Web Platform 必须一致。
await fetch(`${client.config.endpoint}/account`, {
credentials: 'include',
headers: { 'X-Appwrite-Project': '<PROJECT_ID>' }
});REST 示例
REST · Bash
curl -i 'https://<APPBASE_HOST>/v1/account' \
-H 'Origin: https://<WEB_APP_HOST>' \
-H 'X-Appwrite-Project: <PROJECT_ID>' \
-H 'X-Appwrite-JWT: <USER_JWT>'常见错误
| 现象 | 处理建议 |
|---|---|
| CORS blocked | 核对 Web Platform Hostname、scheme、port 与实际 Origin。 |
| Realtime handshake failed | 检查 WebSocket 代理、Session、Origin、Project 和限流。 |
429 | 减少请求/连接抖动并按限流退避。 |
| 502/503/证书错误 | 排查 Proxy、DNS、TLS、上游服务和网络,不伪装为资源 404。 |
当前限制
- 不包含已核验的专线、WAF、零信任或合规认证承诺。
- DNS、证书、Proxy 与防火墙属于部署环境责任。
- Sites 自定义域名 CRUD 未作为公开能力核验。
Appwrite 兼容说明
CORS、Origin、Project 服务开关与限流概念保持兼容;部署责任由 AppBase 边界页明确分离。
AppBase 增强说明
AppBase 把 Organization/Project 上下文与 HTTP、GraphQL、Realtime 限流结合,但不夸大外部网络产品能力。
发布状态和验证 Commit
origin/main 条件支持。验证 Commit:0363062a1c7ea08741975bb5ba0c3361663c9353;使用前必须同时满足本页“当前限制”。
权威来源文件列表
backend-candidate:app/controllers/shared/api/rate-limit.phpbackend-candidate:app/realtime.phpbackend-candidate:tests/e2e/General/HTTPTest.phpbackend-candidate:tests/e2e/Services/RateLimitTest.php
Appwrite taxonomy 仅作信息架构参考:https://appwrite.io/docs/advanced/network。上游页面不是 AppBase 实现证据。