2

我们构建了一个将渲染图像上传到 S3 的应用程序。然后我们将所有图片的 URL 返回给第三方,第三方拉下所有渲染的文件。问题是第三方收到错误无法获取渲染文件,这意味着我们给他们的 URL 没有返回图像。

如果他们再次尝试使用相同的 URL,一切正常。如果我们尝试通过浏览器加载图像 URL,它就在那里。

我们最初认为它与跨 S3 的传播有关。我们所在地区有文件,但第三方地区还没有图像。所以我们延迟了 10 分钟;这没有帮助。我们可以将其增加到 30 分钟或一个小时,但这会使测试变得更加困难,亚马逊表示只需几秒钟。

关于可能发生什么的任何想法?为什么存在的具有适当权限的图像不会在第三方服务第一次请求时返回?

4

1 回答 1

1

您所说的这个问题没有意义,因为如果客户端使用浏览器或您的第三方下载文件之间没有区别。

我唯一想到的是 url 的构建和通过 https 的访问。

您可以使用https ://<bucket-name>.s3.amazonaws.com/<file name>创建对象 url ,您可能会收到以下错误:

curl: (51) SSL 对等证书或 SSH 远程密钥不正确

或者使用 Firefox 你得到: 此连接不受信任

用户忽略证书错误可以轻松解决此问题,但如果第三方使用 API,则可能会通过使用错误的异常处理来隐藏此问题。

您能否获得有关第三方如何尝试检索此文件的更多信息?

于 2012-08-11T21:13:01.760 回答