【发布时间】:2018-05-29 07:34:22
【问题描述】:
我有一个包含我的投资组合的网站,该网站托管在 AWS S3 存储桶中。以前可以正常工作,但突然联系我部分停止工作。
我有一个 javascript 文件,contact_me.js 指的是一个 php 文件,contact_me.php。当我尝试单击“发送”将邮件发送到我的电子邮件地址时,我收到了错误
"mail/contact_me.php:1 加载资源失败:服务器响应状态为 403 (Forbidden)"
当我在浏览器中导航到路径时,我下载了文件,所以我似乎可以访问它。
我在 AWS 中尝试更改权限时也遇到此错误,但无济于事:
jquery.min.js:4
POST http://ReplacedWithDummySite/mail/contact_me.php 403 (Forbidden)
send @ jquery.min.js:4
ajax @ jquery.min.js:4
submitSuccess @ contact_me.js:21
(anonymous) @ jqBootstrapValidation.js:76
dispatch @ jquery.min.js:3
r.handle @ jquery.min.js:3
出错的地方是:“g.send(b.hasContent && b.data || null)”
我没有做任何事情来破坏它:它曾经工作得很好。我已经检查了存储桶权限,因为显而易见的是权限不是公开的。我已将所有内容设置为公开,并具有以下存储桶策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:*",
"Resource": "arn:aws:s3:::aws-website-dummyarn/*"
}
]
}
【问题讨论】:
-
您的存储桶策略允许对所有人执行 all S3 操作。这是非常不可取的。如果您的意思是它只提供公共读取访问权限,如 Sid 建议的那样,则将操作更改为 s3:GetObject。
-
谢谢,我现在已经改变了。虽然仍然没有解决这个问题,我已经尝试更改存储桶策略设置等,但似乎没有任何效果。我在这里读过“Sthe”的评论“stackoverflow.com/questions/26691286/…”,谈论系统时间。这可能是问题吗?我还没有找到如何更改系统时间,或者这是否与我相关。
标签: amazon-web-services amazon-s3