gpt4 book ai didi

amazon-s3 - 如何通过 CloudFlare 从 S3 提供文件

转载 作者:行者123 更新时间:2023-12-04 22:55:43 24 4
gpt4 key购买 nike

假设用户的头像被上传并存储在 Amazon S3 上,我们有一个名为 mywebsite.com 的域。我想使用 CloudFlare为了缓存来自 S3 存储桶的文件。我该怎么做?

最佳答案

我们可以在 cloudflare 网站上找到的文档相当隐含,我不得不在谷歌上搜索了很多才能使它工作。所以这是我的解决方案,它可能不全面,但它可能足以开始使用。

1) 创建一个名为 avatars.mywebsite.com 的存储桶

2) 向其添加以下策略。政策,而不是 CORS。

{
"Version": "2012-10-17",
"Id": "http referer policy",
"Statement": [
{
"Sid": "CloudFlare Requests",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::avatars.mywebsite.com/*",
"Condition": {
"IpAddress": {
"aws:SourceIp": [
"103.21.244.0/22",
"103.22.200.0/22",
"103.31.4.0/22",
"104.16.0.0/12",
"108.162.192.0/18",
"131.0.72.0/22",
"141.101.64.0/18",
"162.158.0.0/15",
"172.64.0.0/13",
"173.245.48.0/20",
"188.114.96.0/20",
"190.93.240.0/20",
"197.234.240.0/22",
"198.41.128.0/17"
]
}
}
}
]
}

我相信它所做的是限制对存储桶的访问,以便只能使用属于 CloudFlare 的那些 IP 访问它。并且可以在他们网站上的某个地方找到。我也相信 IdSid可以包含对您的情况有意义的任何信息。

3)在 CloudFlare中添加CNAME记录DNS 管理器。名称应为 avatars和值(value) avatars.mywebsite.com.s3.amazonaws.com
4) 现在,如果您想访问存储桶中的文件,其路径类似于 user/1/avatar.jpg从您的网站,使用以下 src:
https://avatars.mywebsite.com/user/1/avatar.jpg
5) 值得指出的是,可能需要从 Full(Strict) 更改 SSL 级别。至 FullCloudFlare如果使用 HTTPS,仪表板。

关于amazon-s3 - 如何通过 CloudFlare 从 S3 提供文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47966890/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com