将静态文件上传到 aws s3 存储桶后,css 中的 URL 不起作用

Posted

技术标签:

【中文标题】将静态文件上传到 aws s3 存储桶后,css 中的 URL 不起作用【英文标题】:Urls in css is not working after upload static files to aws s3 bucket 【发布时间】:2021-10-05 07:11:09 【问题描述】:

我制作了一个博客发布网站,并检查了不同的 cors aws 的配置,但其中任何一个都可以解决这个问题。问题是 css 文件中的 url,如

   @import url(fonts.css); background-image:
url("paper.gif");

并且像这些东西不起作用。而且在 控制台我收到这样的错误

net::ERR_ABORTED 403 (Forbidden)

所以任何 字体真棒图标也不起作用。你有什么建议吗 告诉我。

【问题讨论】:

这可能有助于***.com/questions/18724718/… 这些网络资产是从 S3 还是从您的网络服务器提供的?如果从 S3 提供,它们是公开的吗? @jarmod 是的,他们是公开的 【参考方案1】:

这是因为您在存储桶策略中阻止了其他 url。因此他们不允许任何其他 url 干扰您的存储桶对象。这个问题的解决方案是首先您必须做的是禁用阻止所有公共访问权限。然后将此添加到存储桶策略

    
    "Version": "2012-10-17",
    "Statement": [
        
            "Sid": "PublicReadGetObject",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::dtblog/*"
        
    ]

那你可以走了。

【讨论】:

以上是关于将静态文件上传到 aws s3 存储桶后,css 中的 URL 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

将文件上传到 S3 存储桶后,AWS Glue Crawler 的基于事件的触发器?

AWS S3 文件上传但存储桶中的文件没有大小?

从 s3 存储桶获取 2 个文件,并在使用 lambda 节点 js 将其上传到 s3 存储桶后制作 1 个 zip 文件

Ruby v2 的 aws-sdk:在我将对象放入 S3 存储桶后检查成功状态

从上传到 S3 的文件触发的无服务器框架和 AWS Step Functions(AWS 状态机)

如何每次将新上传的文件从 s3 下载到 ec2