একটি নির্দিষ্ট ডোমেন পরিবেশন করার জন্য একটি সার্ভারের দক্ষতার পরীক্ষা করা


11

বলুন আপনি Server Aপরিবেশন করতে আপনার প্রিয় ওয়েবসারভার-ডেমন দিয়ে সেট আপ করেছেন www.example.com। এখন আপনি এটিতে যেতে চান Server B। অনেকগুলি অনুলিপি এবং কনফিগার করার পরে, নতুন সার্ভারটি প্রস্তুত বলে মনে হচ্ছে। একটি চূড়ান্ত পরীক্ষার ক্রম হবে: ডিএনএস-রেকর্ড পরিবর্তন করার আগে, www.example.comডিএনএস রেকর্ডগুলি এখনও সার্ভার এ-র দিকে নির্দেশ করলে কীভাবে কেউ সার্ভার বি থেকে জিজ্ঞাসা করতে পারে?


যদিও আমার মূল প্রশ্নের উত্তর দেওয়া হয়েছে, / ইত্যাদি / হোস্টগুলি আমার প্রভাবের ক্ষেত্রের অধীনে না থাকলে, ওয়েবসার্ভারের সাথে কাঁচা HTTP1.1 কথা বলার পরিবর্তে টেলনেটের মাধ্যমে এটি পরীক্ষা করা কি সম্ভব?


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

2
সম্পাদনা সহ সম্পূর্ণ গোলপোস্ট শিফ্টের জন্য ভোটিংটি উচ্চভাবে বিবেচনা করা হচ্ছে। > _ <
ওয়েসলি

উত্তর:


12

ডিএনএস একটি মায়াবী জিনিস। একটি ক্লায়েন্ট পিসি উপর পর্যাপ্ত নিয়ন্ত্রণ সঙ্গে, আপনি right.comমধ্যে wrong.comএবং করতে পারেন viceversa.io। একটি পরীক্ষার ক্লায়েন্ট পিসিতে ঝাঁপুন এবং সেই ক্লায়েন্টের হোস্ট ফাইলটি পরিবর্তন করে এর ডিএনএস রেজোলিউশন দিয়ে মাক করুন, বা আপনি কিছুটা জটিল কিছু করতে পারেন এবং সেই হোস্টকে কোয়েরির মতো একটি সাধারণ ডিএনএস সার্ভার দিতে পারেন, যেমন dnsmasq। যেভাবে আপনি এই প্রক্রিয়াটির দিকে যান, চূড়ান্ত লক্ষ্য হ'ল www.example.comসার্ভার বি এর আইপি ঠিকানাটি দিয়ে প্রতিক্রিয়া সম্পর্কিত প্রশ্নের জন্য ডিএনএস প্রতিক্রিয়া তৈরি করা এইচটিটিপি হোস্ট শিরোনাম তারপরে www.example.com এর জন্য ডিএনএস নাম বহন করবে, তবে লক্ষ্য হবে সার্ভার বি।

ম্যাজিক!


3
আমার কাছে কোনওরকম /etc/hostsঘটেনি, এবং এটি পুরোপুরি কার্যকর হয়েছিল। অনুস্মারক জন্য চিয়ার্স!
জারমুন্ড

2
hostsফাইল জড়িত নয় DNS সমাধানের কিন্তু একটি সম্পূর্ণ পৃথক নাম লুকআপ প্রক্রিয়া যা, এবং বেশিরভাগ ক্ষেত্রেই ক্লায়েন্টের ওএস দ্বারা উপলব্ধ সমাধানকারী গ্রন্থাগার করবে, DNS- এ লুক-ছাড়াও ব্যবহার। ব্যক্তিগতভাবে আমি মনে করি "এটি যাদু" বিটটি কেবল "বোঝার দরকার নেই" হিসাবে ফিড দেয় যা পেশাদারদের পক্ষে অবশ্যই খারাপ জিনিস।
হ্যাঙ্কান লিন্ডকভিস্ট

@ হাকানলিন্ডকভিস্ট আপনি এই বাক্যটির প্রসঙ্গ এবং ব্যবহারকে খুব খারাপভাবে বুঝে গেছেন।
ওয়েসলি

যে কোনও ক্ষেত্রে, হোস্টগুলি ফাইলDNS । এটি এসএফ; আমি এখানে লোকদের, যদি কোথাও থেকে, পার্থক্যটি জানতে আশা করতাম।
ইলমারি করোনেন

@ ইলমারি কারোনেন এবং আমি বলিনি যে হোস্ট ফাইলগুলি ডিএনএস ছিল, সুতরাং সার্ভারফল্টের জন্য আপনার প্রত্যাশা পূরণ হয়েছে এবং আমরা সবাই এখানে ভাল! ᕕ (ᐛ) ᕗ
ওয়েসলি

11

এটি লক্ষ করা গুরুত্বপূর্ণ যে এইচটিটিপি-র জন্য এই জাতীয় পরীক্ষা করার জন্য ডিএনএসের সাথে আসলে সম্পর্কিত নয় যা এইচটিটিপি ক্লায়েন্টকে Hostশিরোনামের মান হিসাবে প্রেরণ করে ।

ক্লায়েন্টকে অবশ্যই সঠিক আইপি ঠিকানা এবং পোর্টের সাথে সংযোগ স্থাপন করতে হবে, তবে এর বাইরে এটি সমস্তই Hostশিরোনামে নেমে আসে যা এইচটিটিপি অনুরোধে নিজেই ইনলাইন।


দ্রুত পরীক্ষার জন্য নিম্নলিখিত কমান্ডটি ক্লায়েন্টে কোনও অপারেটিং সিস্টেম স্তর কনফিগারেশন পরিবর্তন না করে ব্যবহার করা যেতে পারে:

$ curl -H "Host: www.example.com" http://192.0.2.17/foo/bar

বা, এই বিষয়ে,

$ curl -H "Host: www.example.com" http://beta.example.com/foo/bar


একটি নিয়মিত ওয়েব ব্রাউজারের সাথে এটি করতে আপনার প্রয়োজন হয় এমন একটি ব্রাউজার এক্সটেনশান যা অনুরোধ শিরোনামগুলি (বা সম্ভবত কোনও HTTP প্রক্সি যা শিরোনাম পরিবর্তন করে) সংশোধন করতে পারে, অথবা আপনার ক্লায়েন্ট মেশিন অপারেটিং সিস্টেমের কনফিগারেশন পরিবর্তন করতে হবে।

যেমনটি উল্লেখ করা হয়েছে, এ জাতীয় কনফিগারেশন পরিবর্তন করার সবচেয়ে সহজ উপায় হ'ল hostsফাইলটিতে একটি এন্ট্রি যুক্ত করা । এইভাবে ক্লায়েন্ট ওএস রেজোলার লাইব্রেরি hostsফাইলটির সাথে পরামর্শ করার সময় ইতিমধ্যে হিট হয়ে উঠবে এবং ডিএনএস অনুসন্ধান করার প্রয়োজন হবে না।

অন্যান্য বিকল্পগুলির মধ্যে ক্লায়েন্টের কনফিগার করা ডিএনএস রেজোলার সার্ভারকে একটি নেমসার্ভারে পরিবর্তন করা অন্তর্ভুক্ত যা পছন্দসই উত্তর হিসাবে সেট আপ করা হয়েছে।


1
নামের সমাধানের সাথে
ঘৃণা

2
সাম্প্রতিক curlআপনাকে স্বাভাবিক নাম রেজোলিউশন (ডিএনএস বা হোস্টফাইল) ওভাররাইড করতে দেয় এবং এখনও শিরোনাম স্বয়ংক্রিয়ভাবে করতে পারে এবং এসএনআই যদি HTS ব্যবহার / পরীক্ষা করে থাকে। দেখুন --resolveআপনার র manpage অথবা এ curl.haxx.se/docs/manpage.html
dave_thompson_085

4

আপনি এটি দিয়ে পরীক্ষা করতে পারেন telnet। কমান্ডগুলি টাইপ করে আপনার একটি কাঁচা এইচটিটিপি অনুরোধ করা দরকার। আপনি কোনও ভুল করতে পারবেন না এবং কিছু সার্ভারের একটি সময়সীমা শেষ হয়েছে তাই আপনাকেও সেই সময়সীমার মধ্যে পুরো অনুরোধটি টাইপ করতে হবে।

আদেশটি এরকম কিছু হবে:

telnet serverb 80

অনুরোধটি এরকম কিছু দেখবে:

GET / HTTP/1.1
Host: www.example.com

মনে রাখবেন এটি একটি ফাঁকা রেখার সাথে শেষ হতে হবে, সুতরাং আপনি হোস্ট শিরোনামের পরে দুবার এন্টার টিপবেন।


1
Nitpick: যখন HTTP- র হেডার কেস সংবেদনশীল হতে অনুমিত হয় না, আদর্শ Hostহেডার অল-ক্যাপ নয়। (এবং সম্ভবত কিছু সার্ভারের বিভিন্ন মূলধন নিয়ে সমস্যা হতে পারে))
বব

@ Bob সত্য, সম্পাদিত
ব্রিটিশবাদী

3

আমি সাধারণত যা করি তা হ'ল www.example.com কে আমার / ইত্যাদি / হোস্টগুলিতে সার্ভার বি আইপি ঠিকানাতে বাধ্য করা। আমি যেহেতু মোজাইক ব্যবহার করেছি এবং যেহেতু আমি এটি প্রায়শই করি তা থেকে আমি আরও ভাল করার প্রয়োজন অনুভব করি নি।

আপনার জন্য কিছুটা দেখার জন্য, আমি /superuser/403042/custom-host-file-for-firefox পেয়েছি যা https://addons.mozilla.org/es/firefox/addon/ দ্বারা উত্তর দেওয়া হয়েছে ফক্সিপ্রক্সি-স্ট্যান্ডার্ড / তবে খুব সাম্প্রতিক একটি নোট রয়েছে যা বলে যে এটি পরিত্যক্ত।


/ ইত্যাদি / হোস্ট ছাড়াই একটি পরীক্ষার পদ্ধতি জিজ্ঞাসা করে আপনার সম্পাদনের প্রতিক্রিয়া জানায়, হ্যাঁ, এটি বিদ্যমান। এটি হয় খুব বেসিক পরীক্ষার জন্য টেলনেট, যেমন আমি উপরে আমার উত্তরে উল্লিখিত একটি অ্যাডন বা কাস্টম-কনফিগার করা প্রক্সি, অথবা (এবং এটিই আমি পছন্দ করি পদ্ধতিটি) www2.example বলতে সার্ভার বিতে একটি সার্ভারআলিয়াস হবে। কম।
Law29

3

যদি আপনি এটি কাজ করে চেক করতে হবে তবে আমি মত সরল broswer প্লাগইন পরামর্শ Modify Headersফায়ারফক্সের জন্য, এবং পরিবর্তন HOSTকরার www.mydomain.com

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