amazon-web-services - 是否可以在 Amazon S3 中设置 Content-Security-Policy header ?

标签 amazon-web-services amazon-s3 amazon-cloudfront

我正在尝试为我通过 s3/cloudfront 提供的 html 文件设置 Content-Security-Policy header 。我正在使用基于 Web 的 AWS 控制台。每当我尝试添加标题时:

enter image description here

它似乎并不尊重它。我该怎么做才能确保提供此 header ?

最佳答案

我遇到了同样的问题(使用 S3/CloudFront),目前似乎无法轻松设置。

S3 有一个允许的 header 白名单,并且 Content-Security-Policy 不在其中。虽然您确实可以使用前缀 x-amz-meta-Content-Security-Policy,但这并没有帮助,因为浏览器不支持它。

我可以看到两个选项。

1) 您可以从 EC2 实例上的网络服务器提供 html 内容,并将其设置为另一个 CloudFront 源。不是一个很好的解决方案。

2) 将 CSP 作为元标记包含在您的 html 文档中:

    <!doctype html>
    <html>
      <head>
        <meta http-equiv="Content-Security-Policy" content="default-src http://*.foobar.com 'self'">
...

这个选项没有被浏览器广泛支持,但它似乎适用于 Webkit 和 Firefox,所以当前的 Chrome、Firefox、Safari(和 IOS 7 Safari)似乎支持它。

我选择了 2,因为它是更简单/更便宜/更快的解决方案,我希望 AWS 将来会添加 CSP header 。

关于amazon-web-services - 是否可以在 Amazon S3 中设置 Content-Security-Policy header ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19825294/

相关文章:

amazon-web-services - 我如何为 Amazon SQS 生成查询 URL

perl - 使用 perl 获取文件和带前缀的文件并将其上传到 s3

amazon-web-services - 我如何诊断无法访问 Elastic Beanstalk 中的应用程序的确切原因?

php - 如何使用 PHP 在 S3 存储桶中创建文件夹

amazon-web-services - S3 与 EBS 性能

amazon-web-services - CloudFront 分发和 AWS 颁发的证书给出 SSL_ERROR_NO_CYPHER_OVERLAP

amazon-web-services - AWS S3 存储桶策略显式拒绝

python - 使用python将S3 gzip源对象流式解压到S3目标对象?

angular - 使用 S3 和 Cloudfront 进行静态 Web 应用程序版本控制

amazon-web-services - 在 CloudWatch 仪表板中查看 CloudFront 指标