所以我正在尝试自动将新域添加到现有的 CF 发行版中,但收到Rate exceeded
错误消息。
我正在使用aws/aws-sdk-php
,但是当我使用aws-cli
尝试相同的命令时,我收到相同的错误。
这是我到目前为止的代码:
private function addDistributionAliasAndSetNewCertificate(string $distributionId, string $domainName, string $certificateARN): void
{
$result = $this->cloudFront->getDistributionConfig(['Id' => $distributionId]);
$eTag = $result['ETag'];
$distributionConfig = $result['DistributionConfig'];
// if the domain is already in the distribution return early.
if (in_array($domainName, $distributionConfig['Aliases']['Items'], true)) {
StdOut::writeLine("Domain `{$domainName}` already found in distribution `{$distributionId}` config.");
return;
}
$distributionConfig['Aliases']['Items'][] = $domainName;
$distributionConfig['Aliases']['Quantity'] = count($distributionConfig['Aliases']['Items']);
$distributionConfig['ViewerCertificate'] = [
'ACMCertificateArn' => $certificateARN,
'MinimumProtocolVersion' => 'TLSv1.1_2016',
];
$distributionConfig['Comment'] = 'Updated by `' . getenv('HOST') . '` on `' . date(DATE_ATOM) . '`';
try {
$this->cloudFront->updateDistribution([
'Id' => $distributionId,
'DistributionConfig' => $distributionConfig,
'IfMatch' => $eTag,
]);
} catch (CloudFrontException $e) {
StdOut::writeLine($e->getAwsErrorMessage());
}
}
这将进入带有错误消息catch
块Rate exceeded
当我使用 cli 工具执行相同的操作时,我得到以下输出:An error occurred (Throttling) when calling the UpdateDistribution operation (reached max retries: 4): Rate exceeded
我在两次通话之间等了几天,它的影响为 0。 我做错了什么吗?
我想通了。
问题是我正在覆盖/删除ViewerCertificate.SSLSupportMethod
密钥。