কীভাবে রুট ডোমেন সিএনএম বিধিনিষেধ কাটিয়ে উঠবেন?


117

আমরা আমাদের গ্রাহকদের জন্য অনেক ওয়েব অ্যাপ্লিকেশন হোস্টিং করছি। স্পষ্টতই তারা সেই অ্যাপ্লিকেশনগুলিকে উল্লেখ করতে তাদের নিজস্ব ডোমেনগুলি ব্যবহার করতে চায়, সাধারণত তারা চায় যে কোনও ব্যবহারকারী যা হয় টাইপ করে http://www.customer1.exampleবা http://customer1.exampleতাদের ওয়েব অ্যাপ্লিকেশনটিতে যায়।

আমরা যে পরিস্থিতির মুখোমুখি হচ্ছি তা হ'ল অদূর ভবিষ্যতে আইপি ঠিকানাগুলি পরিবর্তন করার জন্য আমাদের নমনীয়তা থাকা দরকার। এবং আমরা গ্রাহকদের তাদের ডোমেনগুলিতে একটি রেকর্ড পরিবর্তন করার উপর নির্ভর করতে চাই না। সুতরাং আমরা ভেবেছিলাম CNAMEরেকর্ডগুলি ব্যবহার করে কাজ হবে তবে আমরা যেমন খুঁজে পেয়েছি CNAMEরেকর্ডগুলি রুট ডোমেনের জন্য কাজ করবে না।

মূলত:

customer1.example IN CNAME customer1.mycompanydomain.example //this is invalid as the RFC
www.customer1.example IN CNAME customer1.mycompanydomain.example //this is valid and will work

আমরা আইপি ঠিকানা customer1.mycompanydomain.exampleবা Aরেকর্ডটি পরিবর্তন করতে সক্ষম হতে চাই এবং আমাদের গ্রাহকরা এই রেকর্ডটি অনুসরণ করবেন যা আমাদের নিয়ন্ত্রণ রয়েছে।

আমাদের ডিএনএসে এটি দেখতে পাবেন:

customer1.mycompanydomain.example IN A 192.0.2.1

কোন ধারনা?


আমি বুঝতে পারি না যে "গ্রাহক 1 ডটকম ইন সিএনএন গ্রাহক 1.mycompanydomain.com" কেন অবৈধ। আমি বিশ্বাস করি এটি কাজ করা উচিত। আপনি কি ব্যাখ্যা করতে পারেন যে সমাধানের সাথে সমস্যাটি কোথায় ছিল?
স্লেসকে

3
হ্যাঁ, দয়া করে নীচের প্রশ্ন এবং উত্তরটি পড়ুন। এটি ডিএনএস আরএফসি অনুসারে অবৈধ। stackoverflow.com/questions/655235/…
জিও

2
আমি প্রশ্নের শিরোনাম বুঝতে পারছি না। "রুট" (।) জড়িত কোথায়?
বোর্টজমায়ার

2
তার অর্থ একটি জোনের মূল, "মূল" নয়
অ্যালনিটাক

2
ঠিক আছে, তবে এটি সাধারণত ডিএনএস শব্দভাণ্ডার নয়। "শীর্ষস্থানীয়" কি যথাযথ শব্দ নয়? বা লিস্প প্রোগ্রামারদের জন্য "শীর্ষ-স্তর"? :-)
বোর্টজমিয়ার

উত্তর:


63

এই প্রশ্নটি এখনও প্রায়শই উত্থাপিত হওয়ার কারণ হ'ল কারণ, আপনি উল্লেখ করেছেন যে কোথাও কোথাও কেউ গুরুত্বপূর্ণ হিসাবে লিখেছেন যে আরএফসি তাদের সামনে সাবডোমেন ছাড়াই ডোমেন নামগুলি বৈধ নয় states আপনি যদি আরএফসি মনোযোগ সহকারে পড়েন তবে আপনি দেখতে পাবেন যে এটি যা বলে ঠিক তা নয়। আসলে, আরএফসি 1912 বলেছে:

CNAMEs দিয়ে ওভারবোর্ডে যাবেন না। হোস্টের নামকরণের সময় এগুলি ব্যবহার করুন, তবে সেগুলি থেকে মুক্তি পাওয়ার (এবং আপনার ব্যবহারকারীদের অবহিত করার) পরিকল্পনা করুন।

কিছু ডিএনএস হোস্ট কাস্টম রেকর্ড টাইপ ব্যবহার করে জোন শীর্ষে (রুট ডোমেন স্তর, নগ্ন ডোমেন নামের জন্য) সিএনএমের মতো কার্যকারিতা পাওয়ার জন্য একটি উপায় সরবরাহ করে। যেমন রেকর্ড অন্তর্ভুক্ত, উদাহরণস্বরূপ:

  • ডিএনএসিম্পলে এএলআইএএস
  • ডিএনএসে এআইএম তৈরি করা সহজ
  • EasyDNS এ এআইএম NAME
  • ক্লাউডফ্লেয়ারে সিএনএম

প্রতিটি সরবরাহকারীর জন্য, সেটআপটি সমান: আপনার শীর্ষস্থানীয় ডোমেনের জন্য ALIAS বা ANAME এন্ট্রি উদাহরণ.ডোমেন.কমের দিকে নির্দেশ করুন, ঠিক যেমন আপনি কোনও সিএমএল রেকর্ডটি রেখেছিলেন। ডিএনএস সরবরাহকারীর উপর নির্ভর করে একটি খালি বা @ নামের মান জোনের শীর্ষকে চিহ্নিত করে।

ALIAS বা ANAME বা @ উদাহরণ.domain.com।

যদি আপনার ডিএনএস সরবরাহকারী এ জাতীয় রেকর্ড-টাইপ সমর্থন করে না এবং আপনি যা করতে চান তাতে স্যুইচ করতে অক্ষম হন তবে আপনাকে সাবডোমেন পুনর্নির্দেশটি ব্যবহার করতে হবে যা প্রোটোকল বা সার্ভার সফ্টওয়্যার যা এটি করা দরকার তার উপর নির্ভর করে hard ।

আমি কেবলমাত্র "অপেশাদার প্রশাসক" বা এই জাতীয় ধারণার দ্বারা সম্পন্ন হওয়া বিবৃতিটির সাথে দৃ strongly়ভাবে একমত নই। এটি একটি সাধারণ "নাম এবং এর পরিষেবাটি করার দরকার কী?" ডিল করুন, এবং তারপরে সেই শুভেচ্ছাকে পরিপূর্ণ করতে আপনার ডিএনএস কনফিগারেশনটি মানিয়ে নিন; যদি আপনার প্রধান পরিষেবাগুলি ওয়েব এবং ই-মেইল হয় তবে আমি কোনও ভাল্ড কারণ দেখতে পাচ্ছি না কেন ভালোর জন্য সিএনএমগুলি বাদ দেওয়া সমস্যাযুক্ত হবে। সর্বোপরি, কে @ ডোমেন.org এর চেয়ে @ subdomain.domain.org পছন্দ করবেন? আপনি যদি ইতিমধ্যে প্রোটোকলটির সাথে সেট করে থাকেন তবে "www" কার দরকার? রুট-ডোমেন নাম ব্যবহার অবৈধ হবে বলে ধরে নেওয়া অযৌক্তিক।


1
এই নির্দিষ্ট উত্তরটি আমার পক্ষে খুব সহায়ক ছিল যেহেতু আমি কোনও সিডিএন-তে মূল স্তরের ডোমেনটি নির্দেশ করতে চেয়েছিলাম। বেশিরভাগ সিডিএনগুলি প্রয়োজন অনুসারে একটি এফকিউডিএন হয়, যেহেতু এটি বিভিন্ন আইপি বা বিভিন্ন স্থানে সমাধান করতে পারে। আমি ডিএনএস মেড ইজি ব্যবহার করি এবং এআইএম রেকর্ড টাইপটি ব্যবহার করতে সক্ষম হয়েছি।
রুবিক্স

3
আমি আর একমত হতে পারি না। 'নগ্ন' ডোমেন নাম থেকে কোনও সাইট হোস্ট করতে চাওয়া একটি সাধারণ এবং যৌক্তিক জিনিস। এটি কম অক্ষর ব্যবহার করে, এটি আরও ভাল দেখায় ইত্যাদি The ইউআরএল এর নিজস্ব প্রোটোকল শনাক্তকারী (www) যদি প্রথম স্থানে প্রয়োজন হয় তবে এটি url এর একটি অনুসন্ধানমূলক অংশ (এটি ছিল না)।
এড বিশপ

3
এএনএমগুলি দুর্দান্ত, বা আপনি কেবল www-তে সমস্ত 301 করতে পারেন www 301 ফ্রি পুনর্নির্দেশ পরিষেবাটি 198251.86.133 এর
জ্যাকব ইভান্স

51

মূল রেকর্ডে সিএমএল করা প্রযুক্তিগতভাবে আরএফসির বিরুদ্ধে নয়, তবে এর সীমাবদ্ধতা রয়েছে যার অর্থ এটি এমন একটি অনুশীলন যা প্রস্তাবিত নয়।

সাধারণত আপনার মূল রেকর্ডটিতে একাধিক এন্ট্রি থাকবে। আপনার নাম সার্ভারের জন্য 3 বলুন এবং তারপরে একটি আইপি ঠিকানার জন্য একটি।

প্রতি আরএফসি:

যদি কোনও নোডে সিএনএম আরআর উপস্থিত থাকে তবে অন্য কোনও ডেটা উপস্থিত হওয়া উচিত নয়;

এবং প্রতি আইইটিএফ 'সাধারণ ডিএনএস অপারেশনাল এবং কনফিগারেশন ত্রুটি' নথি:

এটি প্রায়শই অনভিজ্ঞ প্রশাসকরা আপনার ডোমেন নামটিকেও হোস্ট হিসাবে রাখার সুস্পষ্ট উপায় হিসাবে চেষ্টা করেন। তবে, BIND এর মতো ডিএনএস সার্ভারগুলি সিএনএম দেখতে পাবে এবং এই নামের জন্য অন্য কোনও সংস্থান যুক্ত করতে অস্বীকার করবে। যেহেতু অন্য কোনও রেকর্ডকে কোনও সিএনএমে সহাবস্থান করার অনুমতি নেই, তাই এনএস এন্ট্রি উপেক্ষা করা হয়। সুতরাং পডঙ্ক.এক্সএক্স ডোমেনের সমস্ত হোস্ট পাশাপাশি উপেক্ষা করা হবে!

তথ্যসূত্র:


17
তবে কেন অন্য কোনও রেকর্ড সিআইএন সহ সহাবস্থান করার অনুমতি নেই? এটি কি আরএফসির লেখক দ্বারা যুক্ত একটি সীমাবদ্ধতা বা এর কোনও প্রযুক্তিগত কারণ রয়েছে? যদি এর কোনও প্রযুক্তিগত কারণ না থাকে তবে সহজেই একটি এক্সটেনশান আরএফসি নিয়ে আসতে পারে।
সেভেন

সুতরাং, যদি এটি আমার জন্য কাজ করে (মূল রেকর্ডের জন্য সিএনএম ব্যবহার করুন, সেই ডোমেনটির জন্য এখনও অন্য সাবডোমেনগুলি কাজ করছেন), এর অর্থ আমি কেবল ভাগ্যবান এবং আমার সরবরাহকারী ডিএনএস বাস্তবায়ন যে অতিরিক্ত রেকর্ডটিকে উপেক্ষা করতে পারে তা উপেক্ষা করে না? এবং এর অর্থ এটিও যে ক্লায়েন্টের পক্ষে আমার কোনও সমস্যা ভয় পাওয়ার দরকার নেই, যতক্ষণ না ডিএনএস সার্ভার এটিকে এভাবে পরিচালনা করে?
didi_X8

এটি অন্য প্রশ্নের উত্তর দেওয়ার প্রয়াস, "সিএমএনগুলিকে কেন শীর্ষে অনুমতি দেওয়া হচ্ছে না", তবে আসল প্রশ্নটি "এই সীমাবদ্ধতাটি কীভাবে অতিক্রম করবেন"। -1।
rustyx


মূল রেকর্ডের সিএনএম প্রযুক্তিগতভাবে আরএফসির বিপরীতে নয়, আপনাকে কীভাবে এটি আরএফসি 1034 বিভাগের বিরুদ্ধে নয় তা ব্যাখ্যা করতে হবে 6.6.২: যদি কোনও সিএমএন আরআর নোডে উপস্থিত থাকে তবে অন্য কোনও ডেটা উপস্থিত থাকতে হবে না; এটি নিশ্চিত করে যে একটি আধ্যাত্মিক নাম এবং এর উপস্বের জন্য ডেটা আলাদা হতে পারে না। । অবশ্যই "মূল" (এটি এই প্রসঙ্গে যথাযথভাবে শীর্ষে রয়েছে) এর ইতিমধ্যে NSএবং SOAরেকর্ড রয়েছে এবং তাই CNAMEরেকর্ড থাকতে পারে না ।
প্যাট্রিক মেভিজেক

4

আমি জানি না তারা কীভাবে এটি থেকে দূরে যাচ্ছে, বা তাদের কী নেতিবাচক পার্শ্ব প্রতিক্রিয়া হতে পারে, তবে আমি আমার কয়েকটি ডোমেন হোস্ট করতে হোভার ডট কম ব্যবহার করছি এবং সেখানে একটি সিএনএম হিসাবে সম্প্রতি আমার ডোমেনের শীর্ষস্থান নির্ধারণ করেছি। তাদের ডিএনএস সম্পাদনা সরঞ্জামটি মোটেই অভিযোগ করেনি এবং আমার ডোমেন নির্ধারিত সিএনএম-এর মাধ্যমে খুশিতে সমাধান করে।

ডিগ আমাকে এই ডোমেনটির জন্য যা দেখায় তা এখানে (মাইডোমেন.কম হিসাবে প্রকৃত ডোমেনটি আবদ্ধ):

; <<>> DiG 9.8.3-P1 <<>> mydomain.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2056
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;mydomain.com.          IN  A

;; ANSWER SECTION:
mydomain.com.       394 IN  CNAME   myapp.parseapp.com.
myapp.parseapp.com. 300 IN  CNAME   parseapp.com.
parseapp.com.       60  IN  A   54.243.93.102

অবরুদ্ধকরণ, যদি সত্যিই প্রয়োজন হয় (ডিএনএস সর্বজনীন ....), আরএফসি 2606 নির্দেশিকা ব্যবহার করা উচিত। এবং আইপি ঠিকানার জন্য আরএফসি 5737 বা 3849
প্যাট্রিক মেভিজেক

3

আমার সংস্থা বেশ কয়েকটি গ্রাহকের জন্য একই কাজ করে যেখানে আমরা তাদের জন্য একটি ওয়েব সাইট হোস্ট করি যদিও আমাদের ক্ষেত্রে এটি www.company.com এর চেয়ে xyz.company.com নয়। আমরা তাদের xyz.company.com এ একটি রেকর্ড সেট করার জন্য আমরা তাদের আইপি ঠিকানার দিকে নির্দেশ করি।

আইপি ঠিকানার পরিবর্তনের সাথে আপনি কীভাবে সামলাতে পারেন তা সঠিক সমাধান আছে বলে আমি মনে করি না। কিছু ধারণা হ'ল:

  • একটি NAT বা আইপি লোড ব্যালেন্সার ব্যবহার করুন এবং আপনার গ্রাহকদের এটি সম্পর্কিত একটি আইপি ঠিকানা দিন। যদি ওয়েব সার্ভারের আইপি ঠিকানাটির প্রয়োজন হয় আপনি NAT এ আপডেট করতে পারেন বা ভারসাম্য লোড করতে পারেন,

  • একটি ডিএনএস হোস্টিং পরিষেবাও অফার করুন এবং আপনার গ্রাহকদের আপনার ডোমেনটি আপনার সাথে হোস্ট করার জন্য করুন যাতে আপনি এ রেকর্ডগুলি আপডেট করার মতো অবস্থানে থাকতে পারেন,

  • আপনার গ্রাহকদের একটি প্রধান ওয়েব সার্ভার পর্যন্ত তাদের একটি রেকর্ড সেট করতে এবং প্রতিটি গ্রাহকের ওয়েব অনুরোধের জন্য একটি HTTP পুনর্নির্দেশ ব্যবহার করুন।


3

সিপুইজ সঠিকভাবে এটি করার একমাত্র উপায় হ'ল এইচটিটিপি এবং ডিএনএস হাইব্রিড পদ্ধতির। আমার রেজিস্ট্রার টিউকোসের পুনরায় বিক্রয়কারী এবং তারা নিখরচায় মূল্য যুক্ত পরিষেবা হিসাবে রুট ডোমেন ফরোয়ার্ডিংয়ের প্রস্তাব দেয় offer

যদি আপনার ডোমেন blah.com হয় তারা আপনাকে জিজ্ঞাসা করবে আপনি কোথায় ডোমেনটি ফরোয়ার্ড করতে চান এবং আপনি www.blah.com টাইপ করেন। তারা তাদের অ্যাপাচি সার্ভারে একটি রেকর্ড বরাদ্দ করে এবং স্বয়ংক্রিয়ভাবে blah.com কে ডিএনএস ভোস্ট হিসাবে যুক্ত করে। ভোস্ট একটি HTTP 302 ত্রুটি তাদের যথাযথ URL এ পুনঃনির্দেশের সাথে সাড়া দেয়। এটি স্ক্রিপ্ট / সেটআপ করা সহজ এবং নিম্ন প্রান্তে পরিচালনা করা যেতে পারে অন্যথায় হার্ডওয়্যার স্ক্র্যাপ করা।

উদাহরণস্বরূপ নীচের কমান্ডটি চালান: কার্ল-ভি ইলেক্টিকেনজাইনার্স ডট কম


3

আপনাকে বাহ্যিক ডোমেনের শেষে একটি পিরিয়ড রাখতে হবে যাতে এটি আপনাকে গ্রাহক 1.mycompanydomain.com.localdomain বলতে বোঝায় না;

সুতরাং শুধু পরিবর্তন করুন:

customer1.com IN CNAME customer1.mycompanydomain.com

প্রতি

customer1.com IN CNAME customer1.mycompanydomain.com.

আমার জন্য (BIND 9.8.2), যদি রেকর্ডগুলি ডোমেনের জন্য হয় customer1.comতবে এটি কাজ করে ... তবে সাবডোমেনের জন্য সিএনএএমই উল্লেখ করে ব্যাখ্যা করা হয় customer1.com.customer1.com। আমি যদি প্রথম আইটেমটিতে একটি বিন্দু যুক্ত করি তবে রেকর্ডটি সঠিকভাবে ব্যাখ্যা করা হবে, তবে এটি আর কাজ করে না। আমি এখানে কোন সমাধান দেখতে পাচ্ছি।
Jusi Hirvi

-2

আমি দেখছি রেডিটোক্লাউড.কম অ্যাপাচি ২.২ এ হোস্ট করা আছে।

অ্যাপাচি-তে নন-www সাইটকে www সাইটে পুনঃনির্দেশ করার জন্য আরও সহজ এবং কার্যকর উপায় রয়েছে।

অ্যাপাচি কনফিগারেশনে নিম্নলিখিত পুনর্লিখনের নিয়মগুলি জুড়ুন (ভার্চুয়াল হোস্টের ভিতরে বা বাইরে এটি কোনও ব্যাপার নয়):

RewriteCond %{HTTP_HOST} ^readytocloud.com [NC]
RewriteRule ^/$ http://www.readytocloud.com/ [R=301,L]

অথবা, যদি আপনি নন-www সাইট থেকে www সাইটে ইউআরএলগুলির 1-থেকে -1 ম্যাপিং চান তবে নীচের পুনর্লিখনের নিয়মগুলি:

RewriteCond %{HTTP_HOST} ^readytocloud.com [NC]
RewriteRule (.*) http://www.readytocloud.com$1 [R=301,L]

দ্রষ্টব্য, এটি কাজ করার জন্য মোড_আরাইট মডিউলটি লোড করা দরকার। ভাগ্যক্রমে রেডিটোক্লাউড.কম একটি সেন্টোস বাক্সে চলছে, যা ডিফল্টরূপে মোড_আরাইটে লোড হয়।

আমাদের কাছে ক্লায়েন্ট সার্ভার রয়েছে অ্যাপাচি ২.২ চালাচ্ছে যার মধ্যে রয়েছে মাত্র ৩,০০০ ডোমেন এবং প্রায় ৪,০০০ পুনঃনির্দেশগুলি, তবে সার্ভারে লোডটি প্রায় ১০.০০ - ০.২০ অবধি ঘুরে থাকে।


প্রশ্নটি ছিল ডিএনএস নিয়ে। অ্যাপাচি ওয়েব-সার্ভার সম্পর্কে নয়।
স্যামটজু

-7

সিপুইজ এবং মিঃ এভিল উভয়কে ধন্যবাদ। আমরা একটি পিএইচপি স্ক্রিপ্ট তৈরি করেছি যা ব্যবহারকারী প্রবেশ করানো এবং wwwএটির শীর্ষে আটকানো URL টি পার্স করবে। (যেমন যদি গ্রাহকের প্রবেশ kiragiannis.com , তাহলে এটি পুনর্চালনা করবে www.kiragiannis.com )। সুতরাং আমাদের গ্রাহকরা তাদের মূলগুলি নির্দেশ করে (যেমন আমাদের ওয়েব পুনঃনির্দেশক কোথায় customer1.comতা Aরেকর্ড করতে ) এবং তারপরে আমাদের দ্বারা পরিচালিত www CNAMEপ্রকৃত Aরেকর্ডে।

আপনি ভবিষ্যতের জন্য আমাদের আগ্রহী ক্ষেত্রে কোডের নীচে।

<?php
$url = strtolower($_SERVER["HTTP_HOST"]);

if(strpos($url, "//") !== false) { // remove http://
  $url = substr($url, strpos($url, "//") + 2);
}

$urlPagePath = "";
if(strpos($url, "/") !== false) { // store post-domain page path to append later
  $urlPagePath = substr($url, strpos($url, "/"));
  $url = substr($url, 0, strpos($url,"/"));
}


$urlLast = substr($url, strrpos($url, "."));
$url = substr($url, 0, strrpos($url, "."));


if(strpos($url, ".") !== false) { // get rid of subdomain(s)
  $url = substr($url, strrpos($url, ".") + 1);
}


$url = "http://www." . $url . $urlLast . $urlPagePath;

header( "Location:{$url}");
?>

10
এটি 69k + লোকেরা যে থ্রেডে খুঁজছেন তারা এই প্রশ্নের উত্তর দেয় না। প্রশ্নটি ডিএনএস সম্পর্কে আরও এবং পিএইচপি-র কোনও সম্পর্ক নেই।
ম্যাট ক্লার্ক

1
প্রশ্নটি ছিল ডিএনএস নিয়ে। পিএইচপি কোডিং সম্পর্কে নয়।
স্যামটজু

HTTP_HOST হ'ল নেম, যেমন এর নামের দ্বারা বোঝায়, কোনও URL নয়। অতএব http://অপসারণ করার মতো কোনও কিছুই থাকবে না বা /( $urlPagePathসর্বদা শূন্য থাকবে)। সিএফ httpd.apache.org/docs/2.4/expr.html । দরুন পথে কোড সাবডোমেন পরিত্রাণ পেতে চেষ্টা করে, এটি ভালো জিনিস না কাজ করবে www.example.co.ukযেখানে co.ukরয়েছে একটি সম্পূর্ণ হিসাবে বিবেচনা করা হয়। এটি এইচটিপিপিএসও পরিচালনা করে না। এবং পরিশেষে পিএইচপি ব্যবহার করে কেবল একটি এইচটিটিপি পুনর্নির্দেশ করুন যেখানে কোনও ওয়েবসারভার এটি কনফিগারেশনে করতে পারে, অত্যধিক জটিল। সুতরাং সংক্ষেপে এটি অবশ্যই এই প্রশ্নের বৈধতাযুক্ত উত্তর হওয়া উচিত নয়।
প্যাট্রিক মেভিজেক

যদি এই নিয়মটি সমস্ত হোস্টের জন্য প্রযোজ্য হয় তবে এটি
অ্যাপাচি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.