0
에서 웹 사이트로 리디렉션

나는 다음과 같은 설정이 있습니다 S3 버킷에서 호스팅HTTPS는 AWS

  • 문서상의 웹 사이트를
  • HTTP 또는 HTTPS 트래픽
  • 을 그 기원으로 그 양동이를 사용하여 수용
  • CloudFront를 배포 경로 53을 통해 등록 된 3 개의 맞춤 도메인 이름; example.com, .net.org이라고합시다.
  • 그 3 개 도메인에 대한 ACM 인증서는 HTTPS 있도록
  • 작동 영역 호스팅 example.com은 웹 사이트를 표시합니다, 그래서 http://docs.example.com 또는 https://docs.example.com을 CloudFront를 배포 가리키는 별칭 기록을 가지고 있습니다.

이제 다음과 같은 리디렉션 규칙을 적용하고자합니다. 기본적으로 사용자가 원래 요청한 프로토콜을 사용하여 모든 것이 docs.example.com으로 리디렉션되어야합니다.

  1. http://docs.example.net>http://docs.example.com
  2. https://docs.example.net>https://docs.example.com
  3. http://docs.example.org>http://docs.example.com
  4. https://docs.example.org>https://docs.example.com

내가하는 데 문제가있는 곳입니다. ALIAS 레코드가있는 CloudFront 배포본의 .net.org 하위 도메인을 가리키면 URL에 여전히 .com이 아닌 해당 하위 도메인이 표시됩니다. .net.org 하위 트리를 .com으로 리디렉션 규칙을 사용하여 만든 S3 버킷을 만들고 해당 버킷에 ALIAS 레코드를 추가하면 모든 것이 HTTP에 적합하지만 HTTPS는 실패합니다. ACM 인증서는 S3가 아닌 CloudFront에서만 작동합니다. . 그리고 .net.org 하위 도메인에 .com을 가리키는 CNAME 레코드를 추가하려고하면 HTTPS가 계속 실패하고 HTTP가 HTTPS로 리디렉션됩니다.

SO post에 따르면, 내 유일한 옵션은 .net.org에 대한 두 가지 추가 CloudFront 배포판을 만드는 것입니다. 그러나 그것은 단지 이라고 들리는데, 내게는이 지나치게 엔지니어링되어 있으며,이 모든 것을하기 위해 사용하고있는 CloudFormation 템플릿을 실제로 부 풀릴 것입니다.

누구나 간단한 솔루션을 추천 할 수 있습니까?

답변

0

도메인간에 리디렉션하도록 CF에 직접 접근하지 않습니다 (.com .org와 .net이 동일한 배포에 링크되어 있음에도 불구하고). 권장 할 수있는 가장 간단한 방법은 Cloudfront에서 AWS Edge Lambda을 사용하여 리디렉션하는 것입니다.

+0

제안 해 주셔서 감사합니다. 그 링크가 깨졌습니다! – Rabadash8820

+0

언급 해 주셔서 감사합니다. 링크가 수정되었습니다. – Ashan