CloudFront의 다단 구성은 할 수 없게 되어 있다

1943 단어 CloudFrontAWS
CloudFront의 다단계 구성을 시도했는데 작동하지 않았습니다. 분명히 CloudFront에는 제한이있는 것 같습니다.

하고 싶었던 일


  • REST API 응용 프로그램과 동일한 도메인에서 정적 웹 사이트를 제공
  • 응용 프로그램은 ECS에 있으며 ELB를 통해 액세스
  • 정적 웹 사이트는 AWS Amplify Console에 호스팅
  • 각각을 CloudFront의 오리진으로 등록하고 경로로 나눕니다



  • 403 오류가 반환됩니다.



    Amplify Console에 대한 모든 요청이 403 오류가 발생합니다.
    403 ERROR
    The request could not be satisfied.
    
    Bad request. We can't connect to the server for this app or website at this time. There might be too much traffic or a configuration error. Try again later, or contact the app or website owner. 
    If you provide content to customers through CloudFront, you can find steps to troubleshoot and help prevent this error by reviewing the CloudFront documentation. 
    

    AWS 문서를 참조해도 원인에 대해 걱정할 부분이 없습니다.
    htps : // 아 ws. 아마존. 이 m / jp / p 레미 m 쏘 rt / k의 w ぇd 게 센 r / 레소 l

    원인은 CloudFront의 문서 외부 사양이었습니다.



    CloudFront는 오리진에 대한 요청의 Via 헤더에 다음과 같은 값을 설정합니다.
    Via: 2.0 f32d93db98d9cf41d6a5114f4ba1xyz.cloudfront.net (CloudFront)
    

    이 형식의 헤더가 요청에 포함되면 CloudFront는 앞에서 설명한 403 오류를 반환합니다.
    아마도 CloudFront를 CloudFront의 오리진으로 지정하는 것을 방지하기 위해 이러한 사양이 될 것입니다.

    Amplify Console은 내부적으로 CloudFront를 통해 제공됩니다.



    Amplify Console의 엔드포인트는 내부적으로 CloudFront를 사용합니다.
    처음에 하고 싶었던 사이트의 분배가 에러가 되어 버리는 것은 이것이 원인이었던 것 같습니다.

    헤더를 변경하면 제한을 피할 수 있습니다.



    사양을 역으로 취해 Via 헤더를 삭제하거나 다른 값을 지정하면 워크 어라운드로서 기능할 것 같습니다.
    실제로 시도하지는 않았지만, 필요한 경우 고려해 보는 것은 어떻습니까?

    좋은 웹페이지 즐겨찾기