如何修复aws-cli cloudfront更新分发命令?

时间:2019-07-12 09:36:23

标签: amazon-web-services

我一直在尝试执行以下命令,但导致错误

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

1 个答案:

答案 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