我的应用程序有 2 个存储桶:-gambify-dev-devil(用于开发)-gambify-prod(用于生产)
我已经将它们设置为完全相同,但是对于我的制作,我在访问某些资源时遇到了问题。我的生产环境是宝塔。我使用 Gaufrette、LiipImagine 和 Vichuploader 进行文件处理。我遇到的问题是,在我的生产环境中,我的应用程序似乎请求了错误的资源或者存在访问问题。因为我有很多日志表明我的存储桶中有 AccessDenied 错误:
<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>D90C05F182C91003</RequestId>
<HostId>
i7SkwNCbyUnCCBCnkyyrv7x9pOLGtr4sUgqWYkJMqk0X0lXYIW5zeu4688FCqBiA
</HostId>
</Error>
为了进一步调查这个问题(我真的不知道它是从哪里来的,因为它在所有其他环境中都可以正常工作,而且在生产中它在 2 周前也可以正常工作),我想看看请求了哪个资源。是否有机会找到导致此问题的请求的 URL 或试图请求什么的 URL?因为如果我提供到现有资源的正确路径,则存储桶可以正常工作:例如:https ://s3-eu-west-1.amazonaws.com/gambify-prod/profile/default.png
更新:现在我发现了导致我出现问题的真正错误消息:
04fadbab7a82c23143855d5c918e1ba8fa32ef1d622c00a3daa9fcdc6daf5d90 gambify-prod [05/Aug/2013:19:03:57 +0000] 173.193.185.250 - 133EF43443891C63 REST.HEAD.OBJECT profile_thumb_small/51e9a03453c80.jpeg "HEAD /profile_thumb_small/51e9a03453c80.jpeg HTTP/1.1" 403 SignatureDoesNotMatch 1015 - 7 - " https://gambify-prod.s3.amazonaws.com/profile_thumb_small/51e9a03453c80.jpeg " "aws-sdk-php/1.5.17.1 PHP/5.3.23 Linux/2.6.32-042stab068.8 Arch/x86_64 SAPI/fpm-fcgi Integer/9223372036854775807 Build/20121126140000 simplexml/0.1 json/1.2.1 pcre/8.31 spl/0.2 curl/7.19.7 openssl/0.9.8k apc/3.1.9 pdo/1.0.4dev pdo_sqlite/1.0.1 sqlite/2.0-dev sqlite3/0.7-dev zlib/1.1 memory_limit/200M date.timezone/Europe.Berlin open_basedir/off safe_mode/off zend.enable_gc/on" -
我仍然不知道是什么导致了最初的问题。
将有关签名错误的讨论移至:Amazon S3 signature not working with SDK