为 AWS S3 设置 CORS 配置
Setting CORS config for AWS S3
为了优化我的服务器使用,我移动了图像 (~500) 并为 SEO
(~1000) 渲染了 HTML
文件到 S3
存储并且它工作得很好,但是,我担心 DDoS
攻击最终会花费我很多钱,因为亚马逊对每个 GET
请求收费。
我做了一些关于如何防止这种情况的研究,发现 S3
有一个 CORS
配置选项。
我试过了,但不幸的是,它似乎没有用。仍然可以从任何 URL
访问文件
我做错了什么?
更新:
还尝试设置存储桶策略:
CORS 配置允许跨域请求。它不是一种限制访问文件的方法。
默认情况下,浏览器不允许跨域请求。例如,浏览器将不允许 example1.com
提供的页面访问 example2.com
的内容。这样做是为了保护您的个人信息,例如人们试图向 Facebook 打开 iframe 以访问您的个人 Facebook 内容。
但是,如果 example2.com
愿意允许此跨域请求,则它可以添加一个跨原始资源共享 (CORS) 策略,表明允许 example1.com
访问内容以跨域的方式。 Web 浏览器 将允许访问。
总结: 控制 CORS 的是您的 Web 浏览器。 CORS 策略只是告诉网络浏览器允许它。
参见:Cross-Origin Resource Sharing (CORS)
受推荐人限制
但是,您的特殊要求似乎是您愿意提供来自 Amazon S3 的内容,但前提是它出现在特定网页上。例如,如果 example.com
服务的页面请求它,则只显示来自 images.example.com
的图像。您可以通过在 Amazon S3 存储桶策略中指定引荐来源网址来实现此目的。
来自Restricting Access to a Specific HTTP Referrer:
{
"Version":"2012-10-17",
"Id":"http referer policy example",
"Statement":[
{
"Sid":"Allow get requests originating from www.example.com and example.com.",
"Effect":"Allow",
"Principal":"*",
"Action":"s3:GetObject",
"Resource":"arn:aws:s3:::examplebucket/*",
"Condition":{
"StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
}
}
]
}
伪造引荐来源网址相对容易,但这通常可以满足您的需求。
为了优化我的服务器使用,我移动了图像 (~500) 并为 SEO
(~1000) 渲染了 HTML
文件到 S3
存储并且它工作得很好,但是,我担心 DDoS
攻击最终会花费我很多钱,因为亚马逊对每个 GET
请求收费。
我做了一些关于如何防止这种情况的研究,发现 S3
有一个 CORS
配置选项。
我试过了,但不幸的是,它似乎没有用。仍然可以从任何 URL
我做错了什么?
更新:
还尝试设置存储桶策略:
CORS 配置允许跨域请求。它不是一种限制访问文件的方法。
默认情况下,浏览器不允许跨域请求。例如,浏览器将不允许 example1.com
提供的页面访问 example2.com
的内容。这样做是为了保护您的个人信息,例如人们试图向 Facebook 打开 iframe 以访问您的个人 Facebook 内容。
但是,如果 example2.com
愿意允许此跨域请求,则它可以添加一个跨原始资源共享 (CORS) 策略,表明允许 example1.com
访问内容以跨域的方式。 Web 浏览器 将允许访问。
总结: 控制 CORS 的是您的 Web 浏览器。 CORS 策略只是告诉网络浏览器允许它。
参见:Cross-Origin Resource Sharing (CORS)
受推荐人限制
但是,您的特殊要求似乎是您愿意提供来自 Amazon S3 的内容,但前提是它出现在特定网页上。例如,如果 example.com
服务的页面请求它,则只显示来自 images.example.com
的图像。您可以通过在 Amazon S3 存储桶策略中指定引荐来源网址来实现此目的。
来自Restricting Access to a Specific HTTP Referrer:
{
"Version":"2012-10-17",
"Id":"http referer policy example",
"Statement":[
{
"Sid":"Allow get requests originating from www.example.com and example.com.",
"Effect":"Allow",
"Principal":"*",
"Action":"s3:GetObject",
"Resource":"arn:aws:s3:::examplebucket/*",
"Condition":{
"StringLike":{"aws:Referer":["http://www.example.com/*","http://example.com/*"]}
}
}
]
}
伪造引荐来源网址相对容易,但这通常可以满足您的需求。