WJLWJL 文档
文档 域名与通信
完整使用说明

域名反向代理

为域名配置上游转发、资源地址重写、跨域访问(CORS)及请求与响应修改规则。

配置步骤与权限

域名创建者、工作区所有者或平台管理员可以配置反向代理;仅获得共享域名使用权的工作区不能配置。通过 API 创建的域名也可由创建时使用的 API 凭证管理。没有创建者记录的历史域名,需要工作区所有者或平台管理员配置。

  1. 1进入「域名管理 → 域名资产」,选择自己有管理权限的域名。
  2. 2打开「流量与 DNS → 反向代理」,填写公开可访问的 HTTP(S) 上游地址,并设置匹配范围。
  3. 3启用并保存,边缘缓存同步通常需要约 60 秒。

匹配范围与 URL 映射

  • 仅未匹配路径(unmatched):保留已有短链的正常跳转,将其余路径转发到上游,包括域名根路径、资源路径和 API 路径。
  • 全部路径(all):覆盖已有短链的跳转行为。命中反向代理规则时,优先执行代理,而不是域名跳转设置。
  • 例如上游为 https://origin.example.com/app,访问 /news 会转发到 /app/news;/app 之外的资源会改写为上游的绝对地址。需要代理整个网站时,建议上游只填写协议和域名,不附加路径。

请求头、响应头与文本替换

可以设置或移除请求头和响应头。文本替换区分大小写,按规则顺序执行,并替换所有匹配内容;替换值留空表示删除匹配文本。不支持正则表达式,也不会执行服务端脚本。请求 URL 替换只修改路径和查询参数;正文替换支持 HTML、CSS、JS、JSON 以及配置的 MIME 类型。

{
  "requestHeaders": [
    {
      "name": "X-Source",
      "action": "set",
      "value": "brand-site"
    }
  ],
  "responseBodyReplacements": [
    {
      "search": "Old Brand",
      "replacement": "New Brand"
    }
  ],
  "requestUrlReplacements": [
    {
      "search": "/old-api/",
      "replacement": "/v2/"
    }
  ]
}

跨域访问(CORS)与 Cookie

可配置允许的来源、请求方法、请求头和暴露给浏览器的响应头,多项使用英文逗号分隔。允许携带凭据时,必须填写明确的来源,不能使用通配符 *。符合规则的预检请求由边缘节点直接响应。可以重写 Cookie 的域名和路径。转发客户端 Authorization 需要主动开启;平台 Cookie 和内部请求头会被移除。

限制与兼容性

  • 支持重写 HTML 资源地址、基础地址(base)、CSS 中的 URL、重定向地址及配置的文本。JS 动态拼接或转义后的 URL 可能需要额外配置文本替换规则。
  • 正文重写大小上限默认为 2 MiB,最大可配置为 8 MiB;超过上限返回 502。等待上游响应头及缓冲读取正文的超时默认均为 15 秒。
  • 二进制下载和部分内容响应使用流式传输,不进行正文重写。反向代理流量不计入短链 PV/UV,暂不支持 WebSocket。
  • 除非显式配置修改,否则保留 CSP 和资源完整性校验。响应使用 private, no-store,避免缓存个性化内容。

API 说明

  • GET /api/v1/domain-proxy?domainId=DOMAIN_ID:查询域名代理配置及当前身份的管理权限。
  • PUT /api/v1/domain-proxy:保存完整配置;DELETE /api/v1/domain-proxy?domainId=DOMAIN_ID:删除配置。两者均需要 Idempotency-Key 请求头和 domains:write 权限。
  • PUT 请求体示例:{ "domainId": "DOMAIN_ID", "config": { "upstream": "https://origin.example.com", "enabled": true, "matchMode": "unmatched" } }。
  • 完整字段说明可在交互式 API 文档中查看;仓库中的 docs/domain-reverse-proxy.md 提供英文技术参考。

没有找到答案?请通过控制台提供问题发生时间、工作区和完整复现步骤。