S3 media 保存了海量的 "AccessDenied" xmls

Discourse 的运行效果非常好,S3 上的媒体文件运行效果也非常出色。但是,我注意到 S3 存储桶每天都会保存数千个小文件,如下所示:

每个文件的内容看起来像这样:

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>VR5CF6C4VFAN</RequestId>
<HostId>OVpQx+h2s8sE0UG/k9/x6//kAW+Lq8/MXnwYDr0gOxnz3phq/uv4BXEaVw0CQ=</HostId>
</Error>

为什么会发生这种情况?
我可以删除这些文件吗?

2 个赞

看起来像是日志或备份。您能否直接从 S3 仪表板(而不是通过公共 URL)下载文件并查看其内容?这将帮助您找到生成它们的来源。:slight_smile:

2 个赞

这是直接来自 S3 的文件。Discourse 出于某种原因将这些微小的 xml 文件保存到 S3 存储桶中。

我的 Discourse 上的媒体(图片、PDF 等)运行良好,没有任何问题。

编辑:
抱歉,我刚意识到您在问什么,这是文件的内容:

de8e8e3b4675asd1a459600d7606d06568b10b1e94ea61ec54c36ccef95dcf rsrbt [25/Sep/2020:18:08:42 +0000] 99.124.56.223 de8e8e3b46a459500d760068b15e410b1e94ea61ec54ccef95dcf 0FA4CAA473DCF77B REST.GET.CORS - "GET /rsrbt?cors= HTTP/1.1" 404 NoSuchCORSConfiguration 311 - 33 - "-" "S3Console/0.4, aws-internal/3 aws-sdk-java/1.11.783 Linux/4.9.217-0.1.ac.205.84.332.metal1.x86_64 OpenJDK_64-Bit_Server_VM/25.252-b09 java/1.8.0_252 vendor/Oracle_Corporation" - hQWfzngEbMCWnJf3y1ELQgUAJgUHvslvzl6ZXixF1xZlaT7UUXik2HK8ggU8= SigV4 ECDHE-RSA-AES128-SHA AuthHeader s3.us-east-2.amazonaws.com TLSv1.2
3 个赞

我认为那些是你的服务器日志,从格式来看。\n\nhttps://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html\n\n这些文档显示了如何禁用该功能或删除日志。^_^ \n\n[quote="Alon1, post:1, topic:220948"]\n为什么会发生这种情况?\n[/quote]\n\n日志不对公众开放,因此会出现“访问被拒绝”的消息。

3 个赞

@Alon1 我只是在浏览上传设置时注意到 enable s3 inventory。我从未使用过该功能,但根据描述……

使用 Amazon S3 inventory 生成报告并验证上传。重要提示:需要有效的 S3 凭证(访问密钥 ID 和秘密访问密钥)。

……我想到了你的文件目录。这是另一个需要研究的路径,以防 S3 日志不是链接文档中所述的日志。:slight_smile:

3 个赞

如果以后其他人遇到此问题,可以参考:这些文件是日志文件。要停止它们,请在 AWS 上转到您的存储桶属性选项卡
image
向下滚动到服务器日志记录面板(然后点击编辑):
image
然后只需禁用并保存:

2 个赞