电脑系统时间不能改动 ()

今天在集成阿里云OSS进行对象存储时,前端Vue的代码报如下错误:

电脑

具体返回值如下:

<?xml version="1.0" encoding="UTF-8"?><Error> <Code>AccessDenied</Code> <Message>Invalid according to Policy: Policy expired.</Message> <RequestId>6389B20DB80005333241E193</RequestId> <HostId>xxxx.oss-cn-shenzhen.aliyuncs.com</HostId></Error>原因分析

根据返回的错误信息,可以看出,提示的是Policy无效或者过期,那么,如何造成这个错误呢?原因如下:

1.bucket不一致,即后端的桶名和前端的桶名不一致

2.access-key或者secret-key不正确

3.Policy时间过期(看下后端代码,默认设置的是30秒)

!!!电脑时间和网络时间不一致(差距一分钟或者几分钟)!!!,会出现此情况。目前我遇到的就是这种情况!!

解决办法

1.bucket后端的桶名和前端的桶名不一致

电脑-----解决办法:找到不一致的地方,进行修改

2. access-key或者secret-key不正确

-----解决办法:找到不正确的地方,进行修改

3.Policy时间过期(看下后端代码,默认设置的是30秒):

-----解决办法一:将后端代码的过期时间加大,比如300秒.

-----解决办法二:将电脑的时间修改正确

建议

最好的办法是同步电脑的时间,不过由于本人网络有限制,无法成功同步时间,因此采用了方法一进行处理。


电脑