要将你域名上指向 /images 的请求路由到 AWS S3 存储桶:
-
在 Cloudflare 仪表板中,前往 Cloud Connector(云连接器) 页面。
Go to Cloud Connector ↗ -
选择 Amazon S3 作为你的 云提供商。
-
输入存储桶 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。
- 子域名风格 URL:将主机名设为
-
(可选)使用 URL 重写规则 调整 URL 结构。例如,你可以 创建 URL 重写,将
/images更改为/<BUCKET_NAME>/images,以匹配 URI 路径风格的 URL 结构。 -
(可选)使用 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
- If incoming requests match(如果传入请求匹配) > Custom filter expression(自定义过滤表达式):
-
选择 Next(下一步),并在 Cloud Connector name(云连接器名称) 中输入描述性名称,例如
Route images to S3。 -
在 If(如果) 下,选择 Custom filter expression(自定义过滤表达式) 并输入以下表达式:
http.request.full_uri wildcard "http*://<YOUR_HOSTNAME>/images/*"
将<YOUR_HOSTNAME>替换为所需主机名。 -
选择 Deploy(部署) 以激活规则。
此设置会将所有匹配 http*://<YOUR_HOSTNAME>/images/* 的流量(HTTPS 和 HTTP 请求)路由到你的 S3 存储桶。请务必将 <YOUR_HOSTNAME> 替换为实际主机名,并根据你的设置调整示例路径。