使用OSS SDK在开发板上进行上传下载时遇到错误RequestTimeTooSkewed-[阿里云_云淘科技]

硬件及系统: 主MUC架构:armv7 内核版本:linux 4.9.84。
Background:正常使用oss SDK一段时间后,新的需求要求升级openssl1.0.2o -> 1.1.1f,导致其相应的依赖curl7.79.1及oss SDK也进行了重新编译。

问题描述:新的SDK在进行下载时遇到了这个问题,但使用date -u -R以及apr_time_now() 校验本地时间未发现异常。
使用OSS SDK在开发板上进行上传下载时遇到错误RequestTimeTooSkewed-[阿里云_云淘科技]
使用OSS SDK在开发板上进行上传下载时遇到错误RequestTimeTooSkewed-[阿里云_云淘科技]

于是写了一个上传sample去抓response body 发现requestTime时间异常。若不保持sdk运行且多次请求响应体的请求时间依旧保持一个定值。
使用OSS SDK在开发板上进行上传下载时遇到错误RequestTimeTooSkewed-[阿里云_云淘科技]
相应时间改变请求时间仍为定值
使用OSS SDK在开发板上进行上传下载时遇到错误RequestTimeTooSkewed-[阿里云_云淘科技]

但如果重新运行SDK的话,requestTime会变成另一个定值
使用OSS SDK在开发板上进行上传下载时遇到错误RequestTimeTooSkewed-[阿里云_云淘科技]

以下为热心网友提供的参考意见

已解决
给交叉编译的朋友们提供一个参考
由于之前编译了x86与arm不同架构的SDK,修改过oss的CMakeList。
在交叉编译时,务必要在CMakeList的开头指定交叉编译的Toolchain!否则会使用默认的编译器,导致链接apr库时,可能会链接到一些其他版本的apr。
【由此导致OSS依赖的apr_time_now()获取时间出现错误,OSS处理Http请求头的Date的业务在这(从oss_do_get_object_to_file追到这追了好一会呢…)】
使用OSS SDK在开发板上进行上传下载时遇到错误RequestTimeTooSkewed-[阿里云_云淘科技]

同时自己的SDK依赖了正确的apr库,所以自己调用apr_time_now()打印的时间却是正确的。导致先入为主的认为apr库是没有问题的,使得问题变的很迷惑= =

以下为热心网友提供的参考意见

“RequestTimeTooSkewed”错误通常是由于客户端和服务器之间的时间戳不同步导致的。在开发板上使用OSS SDK进行上传下载时,如果遇到这个错误,可以尝试以下方法解决:

  1. 确保开发板上的时间是准确的。可以使用NTP(网络时间协议)来同步时间。

  2. 检查网络连接是否稳定。如果网络不稳定,可能会导致时间戳不同步。

  3. 在创建OSS客户端时,设置合适的超时时间。例如,可以设置connectTimeoutreadTimeoutwriteTimeout参数。

  4. 如果问题仍然存在,可以尝试升级OSS SDK到最新版本,或者查看阿里云官方文档以获取更多关于这个问题的信息。

本文来自投稿,不代表新手站长_郑州云淘科技有限公司立场,如若转载,请注明出处:https://www.cnzhanzhang.com/19819.html

(0)
匿名
上一篇 2024年1月4日 上午10:45
下一篇 2024年1月4日

相关推荐

新手站长从“心”出发,感谢16年您始终不离不弃。