Cloud Connector 目前支持以下云提供商与服务:
- Cloudflare R2
- Amazon Web Services - S3
- Google Cloud Platform - Cloud Storage
- Microsoft Azure - Blob Storage
Cloudflare R2 存储桶必须是公开的,并通过 自定义域名暴露。使用 r2.dev 子域名暴露的存储桶不受支持。
此外,自定义域名必须定义在你配置 Cloud Connector 规则的同一 zone 中。
你的 S3 存储桶 URL 的主机名必须具有以下格式之一(其中 * 为通配符):
*s3.amazonaws.com*s3.<REGION>.amazonaws.com*s3-website.<REGION>.amazonaws.com*s3-website-<REGION>.amazonaws.com
Cloud Connector 同时支持子域名与 URI 路径样式的 URL:
- 子域名样式 URL:将主机名设为
<BUCKET_NAME>.s3.amazonaws.com。在这种情况下,你的文件可直接在存储桶根下访问。例如,https://example.com/index.html将映射到https://<BUCKET_NAME>.s3.amazonaws.com/index.html。使用 Full (strict)(完全(严格)) SSL/TLS 模式时,<BUCKET_NAME>不能包含点(请改用短横线)。详情请参阅 到 AWS S3 端点的 SSL 连接。 - URI 路径样式 URL:将主机名设为
s3.amazonaws.com。此处,存储桶名称必须作为请求中 URI 路径的一部分。例如,如果存储桶名称为<BUCKET_NAME>,文件将在类似https://example.com/<BUCKET_NAME>/index.html的路径上可用,你的 Cloud Connector 规则应根据以/<BUCKET_NAME>开头的 URI 路径过滤流量。
Cloud Connector 与 AWS S3 之间的请求所应用的 SSL 设置取决于你使用的 S3 端点类型:
- 支持 HTTPS 的端点:对于
*s3.<REGION>.amazonaws.com与*s3.amazonaws.com等主机名,如果你将 zone 的 SSL/TLS 模式设为 Full(完全) 或 Full (strict)(完全(严格)),Cloudflare 将通过 HTTPS 连接到 AWS S3。使用 Full (strict)(完全(严格)) 时,存储桶名称不能包含点(请改用短横线)。 - 非 HTTPS 端点:对于
*s3-website.<REGION>.amazonaws.com或*s3-website-<REGION>.amazonaws.com等不支持 HTTPS 的网站样式主机名,Cloudflare 将默认使用 Flexible SSL。
- 前往 Amazon S3 控制台 ↗,在导航窗格中选择 Buckets(存储桶)。
- 选择存储桶名称。
- 前往 Properties(属性) 选项卡。
- 选择 Static Website Hosting(静态网站托管) 卡片。Endpoint(端点) 字段显示你的存储桶 URL。
更多信息请参阅 Amazon S3 文档 ↗。
在为您的存储提供商的公共存储桶配置 Cloud Connector 之后,您可能希望只有 Cloudflare 能够访问该存储桶中的对象。要做到这一点,请查阅提供商关于如何创建仅允许来自 Cloudflare IP 地址 ↗ 的传入请求的策略的文档。
你的 Cloud Storage 存储桶 URL 的主机名必须为以下格式(其中 * 为通配符):
*storage.googleapis.com*storage.cloud.google.com
Cloud Connector 同时支持子域名与 URI 路径样式的 URL:
- 子域名样式 URL:将主机名设为
<BUCKET_NAME>.storage.googleapis.com。在这种情况下,你的文件可直接在存储桶根下访问。例如,https://example.com/index.html将映射到https://<BUCKET_NAME>.storage.googleapis.com/index.html。 - URI 路径样式 URL:将主机名设为
storage.googleapis.com。此处,存储桶名称必须作为请求中 URI 路径的一部分。例如,如果存储桶名称为<BUCKET_NAME>,文件将在类似https://example.com/<BUCKET_NAME>/index.html的路径上可用,你的 Cloud Connector 规则应根据以/<BUCKET_NAME>开头的 URI 路径过滤流量。
-
前往 Google Cloud 控制台 ↗,选择 Buckets(存储桶)。
-
选择存储桶名称。
-
对于存储桶中已有的某个文件,选择 Public(公开) 列中的链接图标,将文件的公开 URL 复制到剪贴板。文件 URL 将具有以下格式:
https://storage.googleapis.com/<BUCKET_NAME>/<OBJECT_NAME>要获取子域名存储桶 URL,将文件 URL 重构为
<BUCKET_NAME>.storage.googleapis.com格式。
要获取 URI 路径存储桶 URL,从文件 URL 中移除https://与/<BUCKET_NAME>/<OBJECT_NAME>。
如果存储桶中的文件未公开访问,你必须更改存储桶权限。详情请参阅 Google Cloud Storage 文档 ↗。
在为您的存储提供商的公共存储桶配置 Cloud Connector 之后,您可能希望只有 Cloudflare 能够访问该存储桶中的对象。要做到这一点,请查阅提供商关于如何创建仅允许来自 Cloudflare IP 地址 ↗ 的传入请求的策略的文档。
你的 Blob Storage 存储桶 URL 的主机名必须具有以下格式之一:
<BUCKET_NAME>.blob.core.windows.net<BUCKET_NAME>.web.core.windows.net
对于 Azure Blob Storage,Cloud Connector 仅支持类似 <BUCKET_NAME>.blob.core.windows.net 的子域名 URL。这意味着你的文件可直接在存储桶根下访问。例如,https://example.com/index.html 将映射到 https://<BUCKET_NAME>.blob.core.windows.net/index.html。
- 前往 Azure 门户 ↗,选择你的存储账户。
- 在菜单窗格的 Settings(设置) 下,选择 Endpoints(端点)。
- 从 Blob service(Blob 服务) 端点或 Static website(静态网站) 端点获取你的存储桶 URL。
如果 blob 容器未配置为公开访问,你必须更改容器设置。详情请参阅 Azure Storage 文档 ↗。
在为您的存储提供商的公共存储桶配置 Cloud Connector 之后,您可能希望只有 Cloudflare 能够访问该存储桶中的对象。要做到这一点,请查阅提供商关于如何创建仅允许来自 Cloudflare IP 地址 ↗ 的传入请求的策略的文档。