跳转到内容
搜索文档

将 /images 路由到 S3 存储桶

使用 Cloud Connector 将 URI 路径以 /images 开头的请求路由到特定 AWS S3 存储桶。

最后更新 查看 MarkdownAgent 设置

要将你域名上指向 /images 的请求路由到 AWS S3 存储桶:

  1. 在 Cloudflare 仪表板中,前往 Cloud Connector(云连接器) 页面。

    Go to Cloud Connector ↗
  2. 选择 Amazon S3 作为你的 云提供商

  3. 输入存储桶 URL。你可以用两种方式构建 URL:

    • 子域名风格 URL:将主机名设为 <BUCKET_NAME>.s3.amazonaws.com。在这种情况下,文件应组织在存储桶根目录中,这意味着 URI 路径将直接映射到文件。例如,https://<YOUR_HOSTNAME>/images/file.jpg 将映射到 https://<BUCKET_NAME>.s3.amazonaws.com/images/file.jpg
    • URI 路径风格 URL:将主机名设为 s3.amazonaws.com。此时,存储桶必须包含名为 images 的文件夹,文件应放在此文件夹中。URI 路径随后将包含存储桶名称,例如 https://<YOUR_HOSTNAME>/<BUCKET_NAME>/images/file.jpg 映射到 https://s3.amazonaws.com/<BUCKET_NAME>/images/file.jpg
  4. (可选)使用 URL 重写规则 调整 URL 结构。例如,你可以 创建 URL 重写,将 /images 更改为 /<BUCKET_NAME>/images,以匹配 URI 路径风格的 URL 结构。

  5. (可选)使用 Cache Rules 调整从存储桶返回的对象的缓存行为。例如,你可以 创建缓存规则,将每个匹配 /images/* URI 路径的返回对象缓存七天:

    • If incoming requests match(如果传入请求匹配) > Custom filter expression(自定义过滤表达式):(starts_with(http.request.uri.path, "/images/"))
    • Cache eligibility(缓存资格):Eligible for cache
      • Edge TTL > Ignore cache-control header and use this TTL:7 days
  6. 选择 Next(下一步),并在 Cloud Connector name(云连接器名称) 中输入描述性名称,例如 Route images to S3

  7. If(如果) 下,选择 Custom filter expression(自定义过滤表达式) 并输入以下表达式:
    http.request.full_uri wildcard "http*://<YOUR_HOSTNAME>/images/*"
    <YOUR_HOSTNAME> 替换为所需主机名。

  8. 选择 Deploy(部署) 以激活规则。

此设置会将所有匹配 http*://<YOUR_HOSTNAME>/images/* 的流量(HTTPS 和 HTTP 请求)路由到你的 S3 存储桶。请务必将 <YOUR_HOSTNAME> 替换为实际主机名,并根据你的设置调整示例路径。

这篇文档对您有帮助吗?