我在S3存储桶上遇到一个奇怪的问题,我正在使用S3存储桶来存储应用程序的图像,并使用lambda来处理API函数,因此上载在本地也可以使用lambda正常工作,问题是当我想显示应用程序上的图像,在localhost上运行良好,但在服务器上图像根本不显示:
在本地:https : //www.screencast.com/t/GA9R2ik3vX
但是在服务器上看起来像这样:https : //www.screencast.com/t/oSY2AuE5NF
我认为您的S3存储桶访问策略设置可能有问题。可能是在设置存储桶时,AWS获得了您的本地IP并将其添加到允许的IP列表中(我敢肯定,AWS有时会自动执行此操作),这就是为什么它在您的本地主机上而不在服务器上运行的原因。
并且您的存储桶策略是公开的:
它看起来应该像这样:
{
"Version": "2012-10-17",
"Id": "Policy123",
"Statement": [
{
"Sid": "Stmt123",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::your-bucket-name/*"
}
]
}
请注意,这将使您的存储桶中的图像公开,具有链接的任何人都可以访问它。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句