polly.us-east-2.amazonaws.com/v1/speech 在 ubuntu 18 上返回 200,但在 ubuntu 16 服务器上禁止 403

问题描述

AWS polly polly.us-east-2.amazonaws.com/v1/speech 在 ubuntu 16 服务器上不起作用并返回 403 forbidden 但它在 18 ubuntu 上运行并返回 200 OK。 我正面临这个问题,并希望了解其背后的原因。

这背后的原因是什么?以及如何解决这个问题?

解决方法

亲爱的朋友们, 我终于知道了背后的真正原因。我今天查了一下,发现是由于下一个日期设置为 15 MAY,15:10:00" 在这台 Ubuntu 16 服务器上。当我更改为今天的日期时间并对其进行测试时。api 被触发了 200,OK。>

AWS Signature 4 Code 的计算实际上使用了当前日期时间,因此无法与特定区域的 AWS 服务器端匹配。

以下是日志::

root@abc:/usr/local/vvv/Demo_Project# 日期 2021 年 5 月 15 日星期六 15:07:09 IST root@abc:/usr/local/vvv/Demo_Project# java -jar AWSTTS.jar AWS jsonString 格式 :: 2021-05-15 15:07:17.482 2021-05-15 15:07:18.981 AWS ResponseCode 和 ResponseMessage :: 403 禁止 3. 2021-05-15 15:07:19.229 root@abc:/usr/local/vvv/Demo_Project# date -s "14 May 2021 15:07:00" 2021 年 5 月 14 日星期五 15:07:00 IST root@abc:/usr/local/vvv/Demo_Project# java -jar AWSTTS.jar AWS jsonString 格式 :: 2021-05-14 15:07:04.650 2021-05-14 15:07:04.653 AWS ResponseCode 和 ResponseMessage :: 200 OK 3. 2021-05-14 15:07:06.295