跳转到内容
搜索文档

使用自定义域指向 R2 存储桶

最后更新 查看 MarkdownAgent 设置

本教程将指导您如何配置源站规则和 DNS 记录,以指向配置了自定义域的 R2 存储桶。

流程将使用以下示例值:

网站访问者将访问的 URL mycustomerexample.com/images/*
R2 存储桶自定义域 imagesbucket.example.com

配置 R2 存储桶的自定义域时,请使用您不打算在生产环境中使用的自定义域(本示例中为 imagesbucket.example.com)。

1. 在 Pages 项目中配置自定义域

  1. 在 Cloudflare 仪表板中,前往 R2 object storage(R2 对象存储) 页面。

    Go to Overview ↗
  2. 选择您的存储桶。

  3. 在存储桶页面上,选择 Settings(设置)

  4. Public access(公共访问) > Custom Domains(自定义域名) 下,选择 Connect Domain(连接域名)

  5. 输入要连接的域名——本示例中为 imagesbucket.example.com——然后选择 Continue(继续)

  6. 查看将添加到 DNS 表中的新记录,然后选择 Connect Domain(连接域名)

您的域名现已连接。状态从 Initializing(初始化中) 变为 Active(活跃) 需要几分钟,您可能需要刷新以查看状态更新。如果状态未改变,请选择存储桶旁的 ...,然后选择 Retry connection(重试连接)

要查看已添加的 DNS 记录,请选择已连接域名旁的 ...,然后选择 Manage DNS(管理 DNS)

2. 创建源站规则以重写主机头并覆盖 DNS 记录

在您的 mycustomerexample.com zone 中,创建具有以下配置的源站规则:

If incoming requests match(如果传入请求匹配)

Field(字段) Operator(运算符) Value(值)
URI Path wildcard /images/*

如果使用 Expression Editor,请输入以下表达式:

(http.request.uri.path wildcard "/images/*")

Set origin parameters(设置源站参数)

  • Host header(主机标头) > Rewrite to(重写为) 后的值:imagesbucket.example.com
  • DNS record(DNS 记录) > Override to(覆盖为) 后的值:imagesbucket.example.com

3.(可选)配置 URL 重写

在本示例中,网站访问者访问的 URL 以 /images 开头。但是,存储在示例 R2 存储桶中的图片没有此初始 URL 段。

使用 URL 重写从 URL 路径中移除 /images 段。Cloudflare 在仪表板中提供名为 Rewrite Path for Object Storage Bucket 的规则模板,可用于配置所需的重写。

  1. 在 Cloudflare 仪表板中,前往 Rules Overview(概览) 页面。

    Go to Overview ↗
  2. 选择 Create rule(创建规则) > URL Rewrite Rule(URL 重写规则)

  3. Rule name(规则名称) 中为规则输入描述性名称。

  4. If incoming requests match(如果传入请求匹配) 中,选择 Wildcard pattern(通配符模式)

  5. Request URL(请求 URL) 中输入以下值:

    https://<YOUR_HOSTNAME>/images/*

    在当前示例中,该值为 https://mycustomerexample.com/images/*

  6. Then rewrite the path and/or query(然后重写路径和/或查询) 中,在 Path(路径) 下输入以下值:

    Target path Rewrite to
    [/] images/* [/] ${1}
  7. 选择 Deploy(部署)

更多资源

这篇文档对您有帮助吗?