ডিএনএস নাম foo.com সহ সিআরএম টাইপের আরআরসেট। জোন বার ডট কমের শীর্ষে অনুমতি নেই


104

আমি নিজের foo.comএবং bar.com। আমি রুট 53 এ উভয়ই পরিচালনা করছি। foo.comআমার সাইট হোস্ট করে, এবং আমি ট্র্যাফিক থেকে bar.comযেতে চাই foo.com। আমি নির্দেশ করার CNAMEজন্য একটি রেকর্ড সেট আপ করার চেষ্টা করেছি , তবে আমি ত্রুটি বার্তা পেয়েছি:bar.comfoo.com

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

কেন এই কাজ করে না, এবং এর পরিবর্তে আমি কী করতে পারি?

উত্তর:


92

আরএফসি 1912 বিভাগ অনুযায়ী 2.4:

 A CNAME record is not allowed to coexist with any other data.  In
 other words, if suzy.podunk.xx is an alias for sue.podunk.xx, you
 can't also have an MX record for suzy.podunk.edu, or an A record, or
 even a TXT record.  Especially do not try to combine CNAMEs and NS 
 records like this!:

           podunk.xx.      IN      NS      ns1
                           IN      NS      ns2
                           IN      CNAME   mary
           mary            IN      A

আরএফসি নিখুঁত ধারণা দেয় কারণ নেমসার্ভারটি এটি জানতে পারে না যে এটির জন্য সিএমএল অনুসরণ করা উচিত বা প্রকৃত রেকর্ডটি দিয়ে সিএমএল ওভারল্যাপের সাথে উত্তর দেওয়া উচিত। bar.comএকটি অঞ্চল তাই এটি স্পষ্টতই এর জন্য একটি SOA রেকর্ড রয়েছেbar.com নামের । আপনার কাছে একই নামে একটি SOA রেকর্ড এবং একটি সিএনএম উভয়ই থাকতে পারে।

যাইহোক, এসওএ রেকর্ডগুলি কেবলমাত্র জোন রক্ষণাবেক্ষণের জন্য ব্যবহৃত হয়, এই পরিস্থিতিতে আপনি এই অঞ্চলের শীর্ষে সিএমএল সরবরাহ করতে চান এমন পরিস্থিতিগুলি বেশ সাধারণ। যদিও আরএফসি এটি নিষিদ্ধ করে, অনেক ইঞ্জিনিয়ার এমন আচরণ পছন্দ করতে পারে যেমন: "কোয়েরিটি স্পষ্টভাবে এসওএ রেকর্ডের জন্য জিজ্ঞাসা না করলে" সিএনএম অনুসরণ করুন "। যে কারণে রুট 53 সরবরাহ করে alias records। এগুলি একটি রুট 53 নির্দিষ্ট বৈশিষ্ট্য যা আপনার প্রয়োজনীয় কার্যকারিতাটি সরবরাহ করে। HTTP দেখুন:


8
রুট 53 এ রেকর্ড তৈরি করার সময় যাতে একটি ডোমেন শীর্ষস্থানীয় কোনও ক্লাসিক ইএলবিতে নির্দেশিত হয় আপনি কোনও সিএমএমের পরিবর্তে একটি রেকর্ডে একটি উপনাম তৈরি করেন। বিস্তারিত নির্দেশাবলী এখানে পাওয়া যাবে: ডকস.এ.এস.এস.এমাজন
ইলাস্টিকলোডবাল্যান্সিং

@ নতুন এই আরও দৃশ্যমানতা দেওয়ার জন্য একটি উত্তর দিতে পারে?
জোনাথন

কিন্তু সিআইএমএসের কি অন্য ডোমেনগুলি মাস্ক করার কথা নয়? যেমন foo.com থেকে বার ডট কম, তবে ব্যবহারকারীর ব্রাউজারটি এখনও foo.com প্রদর্শন করবে? আমি এই কার্যকারিতাটির জন্য কী অনুসন্ধান করব?
বেন এ। হিলালি

আমার এসএসএল শংসাপত্রটির মেয়াদ শেষ হয়ে গেছে এবং আমার কাছে থাকা হোস্টগুলির জন্য সিএমএল তৈরি করতে এডাব্লুএস আমাকে ইমেল করেছে, তবে আমার ইতিমধ্যে Aরেকর্ড রয়েছে, এখন কী করব?
ইউজিন

@ ইউজিন আমি ধরে নিয়েছি আপনি AWS এর DNS ভিত্তিক ডোমেন মালিকানা যাচাইকরণের কথা উল্লেখ করছেন: ডকস.আও.সস.মাজোন.com / acm / latest / userguide/… যদি এটি হয় তবে অ্যামাজন আপনাকে একটি সাবডোবার্সের জন্য সিএমএল যুক্ত করতে বলেছে ডোমেন আপনার নিজের দাবি। তারা আপনাকে যে সিএমএন তৈরি করতে বলেছে তাতে প্রথম লেবেল এলোমেলোভাবে উত্পন্ন হয়, সুতরাং এটি অন্য কোনও রেকর্ডের সাথে ওভারল্যাপ করে কোনও সমস্যা হওয়া উচিত নয়।
আইওয়ান আলেকজান্দ্রু কুকু

60
  1. নামক একটি এস 3 বালতি তৈরি করুন bar.com। (নামটি অবশ্যই সেই ডোমেনের মতো হতে হবে যা আপনি কাজ করতে চাইলে পুনঃনির্দেশ করতে চান!)
  2. ইন bar.comএস 3 বালতি যান Properties> Static Website Hostingনির্বাচন Redirect all requests to another host nameকরে এন্টার foo.comটেক্সট বক্স-এ।
  3. আপনার Hosted Zoneজন্য 53 রুটে ফিরে আসুন bar.com, ক্লিক করুন Create Record SetA - IPv4 addressটাইপ জন্য নির্বাচন করুন । জন্য ক্লিক Yesকরুন Alias। এর জন্য পাঠ্য বাক্সটি ক্লিক করুন Alias Targetbar.comঅধীনে তালিকাভুক্ত করা উচিত -- S3 Website Endpoints --। রেকর্ড সংরক্ষণ করুন। কয়েক মিনিট অপেক্ষা করুন এবং বার ডট কম থেকে foo.com এ অনুরোধগুলি পুনর্নির্দেশ করতে আপনার একটি পুনর্নির্দেশ সেটআপ হওয়া উচিত।

আপনি একটি নগ্ন ডোমেনটিকে একটি সাবডোমেইনে (যেমন www) পুনর্নির্দেশ করতে এই একই পদ্ধতিটি ব্যবহার করতে পারেন। আমি www.foo.com কে সিএনএম হতে হবে এমন ক্ষেত্রে এটি ব্যবহার করি তাই আমি একই পদ্ধতিতে foo.com থেকে www.foo.com এ পুনঃনির্দেশ করি। Foo.com যদি একটি রেকর্ড হয় তবে আপনি www.foo.com থেকে foo.com এ পুনঃনির্দেশ করতে এই কৌশলটি ব্যবহার করতে পারেন।

দ্রষ্টব্য: এই পদ্ধতিটি পুরো পথ দিয়ে এগিয়ে যাবে। অর্থাতঃ http://bar.com/test http://foo.com/test এ এগিয়ে যাবে


4
আমি দেখতে পেয়েছি যে আমার এস 3 বালতির নাম লোড হচ্ছে না যখন এডাব্লুএস রুট 53 লিঙ্কের জন্য উপলব্ধগুলি দেখায়। আমি কোথাও পড়েছি এটি এডব্লিউএস কনসোল ব্যবহারকারী আপনি এবং এটি কোন অঞ্চল হিসাবে তৈরি করেছেন তা বিবেচনা করতে পারে ...
bjm88

foo.com/test আমার পক্ষে কাজ করে তবে বার. com / টেস্ট অ্যাক্সেস করা আমাকে একটি অ্যাক্সেসডিনয়েড ত্রুটি দেয়। কারও পরামর্শ আছে? আমি শেল বার ডটকম অ্যাকাউন্টে বালতি নীতি পরিবর্তন করতে পারিনি।
শান

এই পদ্ধতিটি https ডায়রেক্ট করতে পারে না?
চ্যানলিটো

10

Route53, আপনি একটি তৈরি করতে হবে একজন নয় রেকর্ড একটি সময় CNAME রেকর্ড, এবং যে অধীন উপনাম তৈরি করুন।

আলেকজান্দ্রু কুকুর জবাব সম্পর্কে @ ইওলশের মন্তব্য থেকে, আপনি যদি এখানে কাস্টম ডোমেন নাম নিয়ে এপিআই গেটওয়ে সেটআপ করার চেষ্টা করে এসেছেন এবং ক্লাউডফ্রন্ট বিতরণ url পেয়ে থাকেন তবে।


আমার একটি Aরেকর্ড রয়েছে এবং শংসাপত্র পুনর্নবীকরণ ব্যর্থ হয়েছে এবং আমাকে তৈরি করার পরামর্শ দিয়ে ইমেল করেছে CNAME... কী করব?
ইউজিন

1

tldr; রিসোর্সরেকর্ডসেট নাম হিসাবে আপনাকে একটি এফকিউডিএন পাস করতে হবে।

এই বিবৃতি সি # স্নিপ ব্যবহার করে আমার একই সমস্যা হয়েছিল:

 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);
        }

এই ক্ষেত্রে চিত্র.নাম == "শ্রোতা"

একবার আমি এটিকে পরিবর্তন করেছিলাম:

 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);
        }

এখন যে মানটি পাস করা হচ্ছে তা হ'ল: "শ্রোতার। কার্যকরভাবে।

এখন এটা কাজ করে.


0

আপনার কোনও সিএনএম-এর পরিবর্তে ডিএনএম ব্যবহার করা উচিত। একটি সিএনএম রেকর্ড কেবলমাত্র অন্য লেবেলে লেবেলটিকে পুনর্নির্দেশ করতে সক্ষম।

আপনি যখন লেবেলের পরিবর্তে ডোমেনের নামগুলি পুনর্নির্দেশের বিষয়ে কথা বলবেন তখন আপনার DNAME ব্যবহার করা উচিত

$ORIGIN bar.com
           IN      DNAME   foo.com

এর অর্থ হ'ল প্রতিটি এ, এনএস এবং আরও যে কোনও রেকর্ড মুছে ফেলা উচিত। এটি foo.com ডোমেনে কনফিগার করতে হবে।


4
DNAMEআরএফসি 2672 এ সংজ্ঞায়িত করা হয়েছে । এটি কীভাবে ওপির সাথে সম্পর্কিত তা আপনি ব্যাখ্যা করতে পারেন? রুট 53 এসওএ বা এনএস রেকর্ড মোছার অনুমতি দেয় না, কমপক্ষে স্ট্যান্ডার্ড ইন্টারফেস থেকে এবং ডিএমএল কোনও উপলভ্য বিকল্প নয়।
জোশ হাবদাস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.