किसी विशेष डोमेन की सेवा करने के लिए सर्वर की क्षमता का परीक्षण करना


11

कहते हैं कि आप Server Aअपने पसंदीदा वेबसर्वर-डेमन के साथ सेवा करने के लिए तैयार हैं www.example.com। अब आप इसे आगे बढ़ाना चाहते हैं Server B। नकल और कॉन्फ़िगर करने का एक गुच्छा के बाद, नया सर्वर तैयार होने लगता है। एक अंतिम परीक्षण क्रम में होगा: DNS-रिकॉर्ड को बदलने से पहले, www.example.comजब कोई सर्वर अभी भी DNS A को इंगित करता है, तो सर्वर B से कैसे पूछ सकता है ?


हालांकि मेरे मुख्य प्रश्न का उत्तर दिया गया है, / / ​​आदि / मेजबानों के मेरे प्रभाव के दायरे में नहीं होने की स्थिति में, क्या वेबसर्वर के लिए कच्चे HTTP1.1 के बजाय टेलनेट के साथ इसका परीक्षण करना संभव है?


8
कृपया अपने प्रश्न को पूरी तरह से नया प्रश्न पूछने के लिए संपादित न करें। यह (कुछ) मौजूदा उत्तरों को अमान्य करता है और साथ ही प्लेटफ़ॉर्म नोटिफिकेशन भी नहीं भेजता है कि एक प्रश्न या तो बदल गया है, जिससे यह संभावना नहीं है कि आपके प्रश्न के साथ पहले से शामिल लोग अपने उत्तरों को फिर से भेज देंगे। आप उनके लिए एक सीधी टिप्पणी छोड़ सकते हैं कि आपके पास एक अनुवर्ती प्रश्न है। अक्सर एक बेहतर रणनीति एक नया प्रश्न पूछना (संभवतः अपने पहले के प्रश्नोत्तर की ओर इशारा करते हुए) है।
HBruijn

2
एडिट के साथ पूरी तरह से गोलपोस्ट शिफ्ट करने के लिए वोटिंग पर अत्यधिक विचार करें। > _ <
वेस्ले

जवाबों:


12

डीएनएस एक जादुई चीज है। क्लाइंट पीसी पर पर्याप्त नियंत्रण के साथ, आप और right.comमें कर सकते हैं । एक परीक्षण क्लाइंट पीसी पर कूदो और उस क्लाइंट पर होस्ट फ़ाइल को बदलकर या उसके DNS रिज़ॉल्यूशन के साथ टक करें, या आप कुछ अधिक जटिल कर सकते हैं और उस होस्ट को एक साधारण DNS सर्वर को क्वेरी करने के लिए दे सकते हैं, जैसे । किसी भी तरह से आप इस प्रक्रिया के बारे में जाने के लिए, अंतिम लक्ष्य सर्वर बी। HTTP होस्ट हेडर के लिए आईपी पते के साथ प्रश्नों के लिए डीएनएस प्रतिक्रिया करना है, फिर www.example.com के लिए DNS नाम को सहन करेगा, लेकिन इसका उद्देश्य सर्वर बी।wrong.comviceversa.iodnsmasqwww.example.com

जादू!


3
किसी तरह /etc/hostsमेरे साथ नहीं हुआ, और यह पूरी तरह से काम किया। अनुस्मारक के लिए चीयर्स!
जरमुंड

2
hostsफ़ाइल में शामिल नहीं है DNS रिज़ॉल्यूशन लेकिन एक पूरी तरह से अलग नाम लुकअप तंत्र है कि हो सकता है, और ज्यादातर मामलों में ग्राहक ओएस द्वारा प्रदान की रिसोल्वर पुस्तकालय होगा, DNS में खोज के लिए इसके अलावा में इस्तेमाल करते हैं। व्यक्तिगत रूप से मुझे लगता है कि "यह जादू है" बिट सिर्फ "समझने की कोई आवश्यकता नहीं है" में खिलाता है, जो निश्चित रूप से पेशेवरों के लिए एक बुरी बात है।
हाकन लिंडक्विस्ट

@ HåkanLindqvist आपने वाक्यांश के संदर्भ और उपयोग को गलत समझा है।
वेस्ले

किसी भी मामले में, मेजबान फ़ाइलडीएनएस । यह एसएफ है; मुझे उम्मीद है कि लोगों को, अगर कहीं भी, अंतर जानने के लिए।
इल्मरी करोनें 12

@IlmariKaronen और मैंने यह नहीं कहा कि मेजबान फाइलें DNS थीं, इसलिए ServerFault के लिए आपकी अपेक्षाएं पूरी हो गई हैं और हम यहां सभी अच्छे हैं! ᕗ (
वेस्ले

11

यह नोट करना महत्वपूर्ण है कि HTTP के लिए इस तरह का परीक्षण करने के लिए क्या मायने रखता है, वास्तव में DNS से ​​संबंधित नहीं है, लेकिन HTTP क्लाइंट Hostहेडर मूल्य के रूप में क्या भेजता है ।

ग्राहक को सही आईपी पते और पोर्ट से जुड़ने की जरूरत है, जाहिर है, लेकिन इसके अलावा यह सब उस Hostशीर्ष लेख के लिए नीचे आता है जो HTTP अनुरोध में इनलाइन है।


एक त्वरित परीक्षण के लिए क्लाइंट पर किसी भी ऑपरेटिंग सिस्टम स्तर कॉन्फ़िगरेशन को बदलने के बिना निम्नलिखित कमांड का उपयोग किया जा सकता है:

$ 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फ़ाइल में एक प्रविष्टि जोड़ना होगा । इस तरह से क्लाइंट OS रिसॉल्वर लाइब्रेरी को hostsफ़ाइल से परामर्श करते समय पहले से ही एक हिट मिल जाएगी और DNS लुकअप करने की भी आवश्यकता नहीं होगी।

अन्य विकल्पों में क्लाइंट पर कॉन्फ़िगर किए गए DNS रिज़ॉल्वर सर्वर को एक नेमसर्वर में बदलना शामिल है जिसे वांछित के रूप में उत्तर देने के लिए सेट किया गया है।


1
+1 समाधान के लिए जिसका नाम संकल्प के साथ चक्कर लगाना शामिल नहीं है
Jarmund

2
हाल ही में curlआप सामान्य नाम रिज़ॉल्यूशन (डीएनएस या होस्टफाइल) को ओवरराइड करने की अनुमति देते हैं और फिर भी हेडर्स को स्वचालित रूप से करते हैं, और एसएनआई का उपयोग करते हुए / परीक्षण करते समय भी। देखें --resolveअपने मैनपेज में या कम से curl.haxx.se/docs/manpage.html
dave_thompson_085

4

आप इसके साथ परीक्षण कर सकते हैं telnet। आपको कमांड टाइप करके एक कच्चा HTTP अनुरोध करने की आवश्यकता है। आप कोई गलती नहीं कर सकते, और कुछ सर्वरों का समय समाप्त हो जाता है, इसलिए आपको उस समय सीमा के भीतर पूरे अनुरोध को टाइप करना होगा।

कमांड कुछ इस तरह होगी:

telnet serverb 80

अनुरोध कुछ इस तरह दिखाई देगा:

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

ध्यान दें कि यह एक रिक्त रेखा के साथ समाप्त होना चाहिए, इसलिए आप होस्ट हेडर के बाद दो बार दर्ज करेंगे।


1
नाइटपिक: जबकि HTTP हेडर को केस-संवेदी नहीं माना जाता है, नॉर्मेटिव Hostहेडर ऑल-कैप्स नहीं है। (और स्पष्ट रूप से कुछ सर्वरों को विभिन्न पूंजीकरणों से परेशानी हो सकती है।)
बॉब

@ सच, ​​संपादित
रिश्वतखोर

3

मैं आमतौर पर www.example.com को मेरे / etc / मेजबानों में सर्वर B IP पते के लिए बाध्य करता हूँ। मैं यह कर रहा हूं कि जब से मैंने मोज़ेक का उपयोग किया है और जब से मैं इसे करता हूं तब मैंने बेहतर खोजने की आवश्यकता महसूस नहीं की है।

आपके लिए थोड़ा सा आसपास देखते हुए, मैंने /superuser/403042/custom-host-file-for-firefox जो https://addons.mozilla.org/es/firefox/addon/ द्वारा उत्तर दिया है , पाया। foxyproxy-standard / लेकिन एक बहुत हालिया नोट है जिसमें कहा गया है कि इसे छोड़ दिया गया है।


आपके संपादन का जवाब बिना / etc / मेजबान के परीक्षण पद्धति के लिए पूछना, हाँ, यह मौजूद है। यह या तो बहुत ही मूल परीक्षण के लिए टेलनेट होगा, जैसा कि एक ऐडऑन जैसा कि मैंने ऊपर दिए गए मेरे उत्तर में उल्लेख किया है, या एक कस्टम-कॉन्फ़िगर प्रॉक्सी, या (यह वह विधि है जिसे मैं पसंद करूंगा) सर्वर बी पर www2.example कहते हैं। कॉम।
कानून २

3

आप अगर यह काम करता है जांच करने की जरूरत है, मैं की तरह एक साधारण broswer प्लगइन सलाह Modify HeadersFirefox के लिए, और बदल HOSTकरने के लिए www.mydomain.com

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.