开发者社区> 问答> 正文

部分电脑使用OSS时出现错误(见内贴)

错误内容如下:
[Error Code]:RequestTimeTooSkewed, [Message]:The difference between the request time and the current time is too large.
at com.aliyun.openservices.oss.internal.OSSExceptionFactory.create(OSSExceptionFactory.java:14)
at com.aliyun.openservices.oss.internal.OSSErrorResponseHandler.handle(OSSErrorResponseHandler.java:39)
at com.aliyun.common.comm.ServiceClient.handleResponse(ServiceClient.java:281)
at com.aliyun.common.comm.ServiceClient.sendRequestImpl(ServiceClient.java:177)
at com.aliyun.common.comm.ServiceClient.sendRequest(ServiceClient.java:138)
at com.aliyun.openservices.oss.internal.OSSOperation.send(OSSOperation.java:59)
at com.aliyun.openservices.oss.internal.OSSBucketOperation.listObjects(OSSBucketOperation.java:236)
at com.aliyun.openservices.oss.OSSClient.listObjects(OSSClient.java:272)
at com.cmspad.app.b.a(Unknown Source)
at com.cmspad.app.b.run(Unknown Source)
at com.cmspad.app.Launcher.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.exe4j.runtime.LauncherEngine.launch(Unknown Source)
at com.exe4j.runtime.WinLauncher.main(Unknown Source)

经过分析发现是部分设备电脑时间设置错误导致的。
这个问题我觉得挺符合国情的,有的客户仍在使用旧有的设备,而有好多设备主板的电池电量已经耗尽,每次重启都会重置时间。
这个时候如果再判断本地时间的话,容易出现这个错误。
希望技术部门能解决一下这个问题,毕竟旧有设备还是有很多的。

展开
收起
yipsilon 2013-09-18 15:24:16 10287 0
2 条回答
写回答
取消 提交回答
  • 回2楼sanbo的帖子
    我用java的OSS SDK访问的,访问的buckets都是私有的,所以不清楚是否带有签名认证头,但我无法限制客户机器的质量,有些人都用的5-6年前的电脑。

    这块还有什么其他的解决方法呢?
    2013-09-26 21:15:14
    赞同 展开评论 打赏
  • 楼主的这个问题,开发团队在设计第一天就考虑过。  如果放宽这个限制,会增加“中间人”这种安全漏洞的风险。  在数据安全和易用性上,我们选择了前者。希望楼主能够了解OSS开发人员的良苦用心。谢谢!!!

    -------------------------

    补充一点:只有在请求中带签名认证头(Authentication)时,才会验证服务器时间和请求机器时间。匿名访问不会做验证。

    2013-09-18 17:07:46
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载