【发布时间】:2021-02-07 17:16:53
【问题描述】:
我正在尝试使用 laravel livewire 上传文件。
我已经创建了我的 S3 存储桶。我还使用 AWSS3FullAccessRights 创建了我的用户。
默认情况下,我的 s3 存储桶已关闭公共访问。
当我上传文件时,我收到 403 禁止错误。请求网址是:
https://[bucket_name].s3.ap-southeast-2.amazonaws.com/livewire-tmp/HeFkgK7BTeFv2voaPzMPJdwqX69KQ4-metac2FtcGxlLW1wNC1maWxlLm1wNA%3D%3D-.mp4?x-amz-acl=private&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAS3BSKYVMYVLYCB44%2F20201025%2Fap-southeast-2%2Fs3%2Faws4_request&X-Amz-Date=20201025T041359Z&X-Amz-SignedHeaders=host%3Bx-amz-acl&X-Amz-Expires=300&X-Amz-Signature=9e87a654cbeab84772c18a950741027e7eeea1ad41b28e7b1c84a60cf2266147.
文件根本没有上传到 S3。我的 livewire 设置文件设置为 s3。我已将我的密钥、秘密、区域和存储桶名称输入到我的 .env 文件中。
我是否需要在 AWS 上设置任何其他权限才能使其正常工作。我看过的所有教程都不起作用,也不知道为什么。
任何问题都将不胜感激
谢谢 丹尼
【问题讨论】:
-
这是 S3 预签名的 URL。什么角色/用户生成了这个 url?预签名 url 权限与生成它的人/事物有关,而不是您自己的权限。
-
我猜是我创建并分配了 S3FullAccess 权限的用户。我在 IAM 中只有一个用户
-
你解决了吗?我也有同样的问题
标签: laravel amazon-web-services amazon-s3 file-upload laravel-livewire