[amazon-web-services] DNS 이름이 foo.com 인 CNAME 유형의 RRSet zone bar.com의 정점에는 허용되지 않습니다.



Answers

  1. bar.com 이라는 S3 버킷을 만듭니다. 이 이름이 작동하려면 리디렉션 할 도메인 이름과 같아야합니다.
  2. bar.com S3 Bucket에서 Properties > Static Website Hosting 이동하여 Redirect all requests to another host name 선택하고 텍스트 상자에 foo.com 을 입력하십시오.
  3. Route 53에서 bar.comHosted Zone 에서 Create Record Set 클릭 Create Record Set . 유형에 대해 A - IPv4 address 를 선택하십시오. Alias Yes 를 누르십시오. Alias Target 텍스트 상자를 클릭하십시오. bar.com-- S3 Website Endpoints -- 아래에 표시되어야합니다. 레코드를 저장하십시오. 몇 분 기다리면 요청을 bar.com에서 foo.com으로 리디렉션하는 리디렉션 설정이 있어야합니다.

이 같은 방법을 사용하여 기본 도메인을 하위 도메인 (예 : www)으로 리디렉션 할 수 있습니다. 나는 www.foo.com이 CNAME이어야하는 경우에이 방법을 사용하여 foo.com에서 www.foo.com으로 리디렉션합니다. foo.com이 A 레코드 인 경우이 기술을 사용하여 www.foo.com에서 foo.com으로 리디렉션 할 수 있습니다.

참고 :이 방법은 전체 경로와 함께 전달됩니다. 즉 http://bar.com/testhttp://foo.com/test 전달됩니다.

Question

나는 foo.combar.com 소유하고 있습니다. 저는 Route53에서 둘 다 관리하고 있습니다. foo.com 내 사이트를 호스팅하고 bar.com 에서 foo.com 트래픽을 bar.com 싶습니다. foo.com 가리키는 bar.com 대한 CNAME 레코드를 설정하려고 시도했지만 오류 메시지가 표시됩니다.

RRSet of type CNAME with DNS name foo.com. is not permitted at apex in zone bar.com.

왜이 방법이 효과가 없으며 대신 무엇을 할 수 있습니까?




tldr; ResourceRecordSet 이름으로 FQDN을 전달해야합니다.

나는이 문장을 사용하여이 같은 문제를 겪었다. C # snip :

 private static void RegisterHostWithDns(IAmazonRoute53 ec2,SynoviaImage image)
        {
            var changeBatch = new ChangeBatch();
            var rRs = new ResourceRecordSet(image.Name, RRType.CNAME) {TTL=60,ResourceRecords = new List<ResourceRecord>() { new ResourceRecord(image.PublicDns)} };
            var change = new Change(ChangeAction.UPSERT, rRs);
            changeBatch.Changes.Add(change);
            var request = new ChangeResourceRecordSetsRequest(ConfigurationManager.AppSettings["DnsZoneId"], changeBatch);
            var response = ec2.ChangeResourceRecordSets(request);
            Console.WriteLine("Updated CNAME For {0} setting {1}",image.Name,image.PublicDns);
        }

이 경우 image.Name == "Listener"

일단 내가 그것을 변경 :

 private static void RegisterHostWithDns(IAmazonRoute53 ec2,SynoviaImage image)
        {
            var changeBatch = new ChangeBatch();
            var rRs = new ResourceRecordSet(string.Format("{0}.{1}",image.Name, "testing.foo.bar.com"), RRType.CNAME) {TTL=60,ResourceRecords = new List<ResourceRecord>() { new ResourceRecord(image.PublicDns)} };
            var change = new Change(ChangeAction.UPSERT, rRs);
            changeBatch.Changes.Add(change);
            var request = new ChangeResourceRecordSetsRequest(ConfigurationManager.AppSettings["DnsZoneId"], changeBatch);
            var response = ec2.ChangeResourceRecordSets(request);
            Console.WriteLine("Updated CNAME For {0} setting {1}",image.Name,image.PublicDns);
        }

이제 전달되는 값은 "Listener.fully.qualified.com"입니다.

이제 작동합니다.




Related