【问题标题】:Static website private content Amazon S3 and Cloudfront - css, js and images not showing静态网站私有内容 Amazon S3 和 Cloudfront - css、js 和图像未显示
【发布时间】:2014-07-20 13:56:20
【问题描述】:

我已将所有对象上的原始访问身份的 acl 设置为已读。我已经为 OAI 设置了存储桶策略。我可以让 css 或除 html 之外的任何其他东西工作的唯一方法是,如果我使用完整签名的 URL 引用它,即 domain name/css/main.css?签名url的参数,在index.html中。 我已确保所有文件都具有正确的内容类型。 这是标准做法吗?我是否必须以这种方式使用签名的 url 引用每个图像、css、js 文件? 我一直在寻找这几天,所以任何帮助将不胜感激。提前致谢。

存储桶策略: { “版本”:“2012-10-17”, "Id": "PolicyForCloudFrontPrivateContent", “陈述”: [ { "Sid": "授予 CloudFront Origin Identity 访问权限以支持私有内容", “效果”:“允许”, “主要的”: { "AWS": "arn:aws:iam::cloudfront:user/CloudFront 源访问身份identity canoncal" }, "动作": "s3:GetObject", "资源": "arn:aws:s3:::bucket/*" } ] }

【问题讨论】:

  • 当你不使用完整的 s3 url 时,你是如何引用它们的?
  • 您好 EJ,感谢您的回复。例如 css:我尝试像往常一样相对引用它们。如果它是公开的,这没关系,但当它是私人分发时,它就不起作用了。然后我尝试仅使用域名(基本 url)来引用它们,即 mysite.cloudfront.net/css/mystyle.css。这没有用。我可以使用完全签名的 url 访问它,即 mysite.cloudfront.net/css/mystyle.css?gggjggj.... 每个图像、css、js 文件都需要这个似乎很奇怪。
  • 我的解决方法是:我认为我不需要保护我的 css、图像和 js 文件。我创建了一个新存储桶并将它们全部放在那里并将它们公开,然后从我的私人站点引用它们。这行得通。这可能适合我,因为我将创建更多可以引用相同文件的存储桶。

标签: javascript html css amazon-web-services amazon-s3


【解决方案1】:

我的解决方法是:我认为我不需要保护我的 css、图像和 js 文件。我创建了一个新存储桶并将它们全部放在那里并将它们公开,然后从我的私人站点引用它们。这行得通。这可能适合我,因为我将创建更多可以引用相同文件的存储桶。

【讨论】:

    猜你喜欢
    • 2020-07-03
    • 2019-12-22
    • 2014-01-28
    • 1970-01-01
    • 2016-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    相关资源
    最近更新 更多