Cloudfront - 504 The request could not be satisfied

0

【以下的问题经过翻译处理】 Cloudfront distribution 返回504错误,但origin(s3)返回正常。 当有多个正常工作的distributions时,如果我创建一个新的distribution,并将其origin设置为一个正常工作的distribution,我仍然会收到504错误。 这可能与CF无法连接到S3有关,但Bucket网站端点运行正常。

profile picture
EXPERTE
gefragt vor einem Jahr105 Aufrufe
1 Antwort
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"
profile picture
EXPERTE
beantwortet vor einem Jahr

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen