我一直在尝试执行以下命令,但导致错误
aws cloudfront update-distribution --id E29BDBENPXM1VE \
--Origins '{ "Items": [{
"OriginPath": "",
"CustomOriginConfig": {
"OriginSslProtocols": {
"Items": [
"TLSv1",
"TLSv1.1",
"TLSv1.2"
],
"Quantity": 3
}
}
}
]
}'
错误:::未知选项:{“项目”:[{ “ OriginPath”:“”, “ CustomOriginConfig”:{ “ OriginSslProtocols”:{ “项目”:[ “ TLSv1”, “ TLSv1.1”, “ TLSv1.2” ], “数量”:3 } } } ] },-来源
我必须删除cloudfront : OriginSslProtocols:SSLv3
aws cloudfront update-distribution --id E29BDBENPXM1VE \
--Origins '{ "Items": [{
"OriginPath": "",
"CustomOriginConfig": {
"OriginSslProtocols": {
"Items": [
"TLSv1",
"TLSv1.1",
"TLSv1.2"
],
"Quantity": 3
}
}
}
]
}'
1)如何解决以上代码,如果除以下命令以外的其他命令无法禁用/删除OriginSslProtocols:SSLv3
,则无法修复上述代码aws cloudfront update-distribution --id E29BDBENPXM1VE --distribution-config file://secure-ssl.json --if-match E35YV3CGILXQDJ
答案 0 :(得分:0)
您使用的命令正确,应该可以做您想做的事。
但是,它稍微复杂一些。
cli命令 aws cloudfront update-distribution 的相应参考页显示:
更新分发时,与创建分发时相比,必填字段更多。
这就是为什么您必须遵循cli参考[1]中给出的步骤的原因:
- 提交GetDistributionConfig请求以获取当前配置以及该分发的Etag标头。
- 更新对GetDistributionConfig请求的响应中返回的XML文档,以包括您的更改。
- 提交UpdateDistribution请求以更新您的分发的配置:
- 在请求正文中,包含在步骤2中更新的XML文档。请求正文中必须包含带有DistributionConfig元素的XML文档。
- 将HTTP If-Match标头的值设置为在步骤1中提交GetDistributionConfig请求时CloudFront返回的ETag标头的值。
- 查看对UpdateDistribution请求的响应,以确认配置已成功更新。
- 可选:提交GetDistribution请求以确认您的更改已传播。传播完成后,“状态”的值为“已部署”。
有关正确的xml格式的详细信息,请参见 CloudFront API参考 [2]。
[1] https://docs.aws.amazon.com/cli/latest/reference/cloudfront/update-distribution.html
[2] https://docs.aws.amazon.com/cloudfront/latest/APIReference/API_UpdateDistribution.html