AWS S3 Presign Url 总是同时过期?
AWS S3 Presign Url always expiring at the same time?
我生成一个前置符号 url 来访问 S3 中的对象。此 url 设置为 1 小时后过期。
它几个月来一直工作正常,但突然停止工作。
对于我创建的每个 url,该请求的到期时间总是相同的,请参阅:
<Error>
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
<X-Amz-Expires>3599</X-Amz-Expires>
<Expires>2018-05-27T22:56:29Z</Expires>
<ServerTime>2018-05-28T00:20:17Z</ServerTime>
<RequestId>xxx</RequestId>
<HostId>yyy</HostId>
</Error>
任何帮助都会很棒!谢谢!
预签名 URL 从用于构建 URL.
的 访问密钥 继承其权限
例如,假设我有 IAM 用户 凭证。 IAM 用户有访问密钥和秘密密钥。我可以使用这些凭据生成预签名 URL.
预签名 URL 基本上表示此特定用户授权在有限的时间内访问特定对象。
但是,如果我访问该对象的权限被删除,那么我将无法生成预签名 URL 来访问该对象。 (这只是我权限的限时子分配。)
鉴于您的代码过去可以可靠地工作但现在不能,我建议您应该 调查与用于生成预签名 URL.
使用 Signature V4 创建的已签名 URL 在您生成它们时加上过期时间不会过期。它们在您的代码 声明 生成时过期,您可以在 URL.
的 X-Amz-Date
字段中找到它们
将此值与 UTC 中的当前时间进行比较。
此错误表明生成它们的服务器上的时钟有误,或者,如果该服务器上的时钟未设置为 UTC,则系统时钟上的时区可能有误。
我生成一个前置符号 url 来访问 S3 中的对象。此 url 设置为 1 小时后过期。 它几个月来一直工作正常,但突然停止工作。 对于我创建的每个 url,该请求的到期时间总是相同的,请参阅:
<Error>
<Code>AccessDenied</Code>
<Message>Request has expired</Message>
<X-Amz-Expires>3599</X-Amz-Expires>
<Expires>2018-05-27T22:56:29Z</Expires>
<ServerTime>2018-05-28T00:20:17Z</ServerTime>
<RequestId>xxx</RequestId>
<HostId>yyy</HostId>
</Error>
任何帮助都会很棒!谢谢!
预签名 URL 从用于构建 URL.
的 访问密钥 继承其权限例如,假设我有 IAM 用户 凭证。 IAM 用户有访问密钥和秘密密钥。我可以使用这些凭据生成预签名 URL.
预签名 URL 基本上表示此特定用户授权在有限的时间内访问特定对象。
但是,如果我访问该对象的权限被删除,那么我将无法生成预签名 URL 来访问该对象。 (这只是我权限的限时子分配。)
鉴于您的代码过去可以可靠地工作但现在不能,我建议您应该 调查与用于生成预签名 URL.
使用 Signature V4 创建的已签名 URL 在您生成它们时加上过期时间不会过期。它们在您的代码 声明 生成时过期,您可以在 URL.
的X-Amz-Date
字段中找到它们
将此值与 UTC 中的当前时间进行比较。
此错误表明生成它们的服务器上的时钟有误,或者,如果该服务器上的时钟未设置为 UTC,则系统时钟上的时区可能有误。