1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 我从两个Cloudfront获取了config(一个正常运行的和一个无法正常运行的),以便进行比较。
#!/bin/bash
distribution_id=$1
commands=( "get-distribution-config" )
for command in "${commands[@]}"
do
if [ -z "$distribution_id" ]; then
echo "Please provide distribution id as first parameter"
exit 1
fi
aws cloudfront $command --id $distribution_id > cf/$1-$command.json
done
在比较时,我注意到一个值出了问题。’Origins.Items[].CustomOriginConfig.OriginProtocolPolicy.‘ 在无法正常运行的Cloudfront上,它被设置为https-only, 当我将值更新为http-only后,它就会按预期一样正常工作。之后我再次使用Web托管端点。
我添加了以下脚本来更新配置:
#!/bin/bash
distribution_id=$1
config_and_etag=$(aws cloudfront get-distribution-config --id $distribution_id)
current_config=$(echo $config_and_etag | jq '.DistributionConfig')
new_config=$(echo $current_config | jq '.Origins.Items[].CustomOriginConfig.OriginProtocolPolicy = "http-only"')
etag=$(echo $config_and_etag | jq -r '.ETag')
aws cloudfront update-distribution --id $distribution_id --distribution-config "$new_config" --if-match "$etag"
相关内容
- AWS 官方已更新 3 年前