होस्ट फ़ाइल पुनर्निर्देशन कैसे विफल होता है?


12

मैं अपने स्थानीय मशीन को google पर पुनर्निर्देशित करने की कोशिश कर रहा हूं और अपने मैक पर इस / आदि / होस्ट फ़ाइल के साथ सीखने के लिए अपने स्थानीय मशीन पर।

127.0.0.1 www.google.com

हालाँकि, www.google.com अभी भी Google होम पेज पर जाता है, जब मैं इसे अपने मैक पर क्रोम में देखता हूं। क्यों?

मूल रूप से, यह सब मैंने किया है:

  1. sudo vim /etc/hostsटर्मिनल में टाइप करें ।
  2. 127.0.0.1 www.google.comहोस्ट फ़ाइल में इनपुट किया गया।
  3. बचाया और विम छोड़ दिया।

जवाबों:


11

hostsफ़ाइल इस तरह से काम नहीं करता। आप इसका उपयोग केवल होस्ट एड्रेस को IP पते पर मैप करने के लिए कर सकते हैं, करने के लिए नहीं localhost

आपके द्वारा उपयोग किए जाने वाले मामले के लिए 127.0.0.1 www.google.com, अर्थात www.google.com को 127.0.0.1 पर मैप करें।

यदि आप एक singe IP में अधिक होस्टनामों को मैप करना चाहते हैं, तो आप उन होस्टनामों को एक ही पंक्ति में जोड़ते हैं, जैसे 127.0.0.1 www.a.com www.b.com


1
धन्यवाद। मैंने अभी अपने मैक पर / etc / मेजबान फ़ाइल को बदल दिया है 127.0.0.1 www.google.com। हालाँकि, google.com अभी भी Google होम पेज पर जाता है। क्या मुझे कुछ भी ताज़ा करने की आवश्यकता है? क्या मुझे अपना कंप्यूटर पुनः आरंभ करना चाहिए?
डेविड फॉक्स

आप की जरूरत नहीं होनी चाहिए 127.0.0.1 google.comइस पंक्ति के बाद (www के बिना) जोड़ने का प्रयास करें और जांचें कि क्या यह काम करता है।
रेनन

127.0.0.1 google.comया तो काम नहीं कर रहा है। मुझे यकीन नहीं है कि क्या हो रहा है ... मुझे पता है कि /etc/hostsयह एक नरम लिंक /private/etc/hostsहै मैक पर, लेकिन मुझे नहीं लगता कि यह बिल्कुल मदद करता है।
डेविड फॉक्स

1
एक तकनीकी: hostsआईपी ​​पते के लिए होस्टनामों का नक्शा, इसके विपरीत नहीं।
डेनिस

1
@ डेनिस, यही मैं कहने जा रहा था, लेकिन फिर, यह वास्तव में दोनों तरीकों से काम करता है जब आप इसके बारे में सोचते हैं, क्योंकि यह दो वस्तुओं के बीच एक जुड़ाव बनाता है।
सिनटेक

10

यदि आपका hostsसिंटैक्स सही है, तो वेब ब्राउज़र सबसे अच्छा तरीका नहीं है। निष्पादित करने का प्रयास करें

ping www.google.com

और सत्यापित करें कि यह पिंग करता है 127.0.0.1

Chrome आपकी hostsफ़ाइल को अनदेखा करता दिखाई देता है इसका कारण :

यदि क्रोम ने पहले से ही आईपी को हाल ही में क्वेर किया है (हाल ही में सबसे अधिक संभावना की परिभाषा DNS सर्वर द्वारा वापस लौटने के समय (TTL) पर निर्भर करती है), तो यह hostsफ़ाइल को बायपास कर देगा , क्योंकि यह पहले से ही सही आईपी जानता है। यह वेब ब्राउज़िंग को गति देने के लिए किया जाता है।

Chrome नई प्रविष्टि का सम्मान करने के लिए, follwing करें:

  1. /etc/hostsवर्णित @Renan के रूप में संपादित करें ।

  2. के पास जाओ chrome://chrome/settings/clearBrowserData

  3. चुनें since the beginning of time

  4. जाँच करें Empty the cache, लेकिन बाकी सब कुछ अनचेक करें ।

  5. क्लिक करें Clear browsing dataऔर इसके खत्म होने का इंतजार करें ।

  6. Chrome को पुनरारंभ करें।

Chrome को hostsअब आपकी फ़ाइल का सम्मान करना चाहिए ।


2
मैंने इसे IE6 के साथ बहुत पहले सीखा था। अगर मैं IE अभी भी खुला था, तो मैंने HOSTS फ़ाइल में बदलाव किया, तो मुझे विशेष रूप से इसे बंद करना होगा और बदलावों को लेने के लिए इसे फिर से चलाना होगा। यह अधिकांश कार्यक्रमों के लिए जाता है। हालाँकि कुछ कार्यक्रम (जैसे पिछले वर्ष या दो से क्रोम के संस्करण) वास्तव में समय-समय पर HOSTS फ़ाइल को फिर से पढ़ेंगे, इसलिए यदि आप एक बदलाव करते हैं, तो बस एक या दो मिनट प्रतीक्षा करें, फिर ताज़ा करें (कैश को साफ़ करने की आवश्यकता नहीं है)। (यह री-रीडिंग पॉलिसी कभी-कभी इस तरह से आसान होती है, लेकिन आमतौर पर वास्तविकता में बहुत खराब होती है क्योंकि यह बेकार है, और विशेष रूप से खराब है अगर
HOSTS

@ साइनिटेक: hostsजब तक प्रविष्टि पहले से ही कैश नहीं हो जाती, तब तक क्रोम तुरंत बदलाव करता है , क्योंकि एंट्री होस्टनाम नहीं है। मुझे लगता है कि यह hostsतभी जांचता है जब टीटीएल अतीत में है। साथ बड़े वेब साइटों, जो कुछ समय लग सकता है।
डेनिस

मुझे पता नहीं है कि HOSTS फ़ाइल को फिर से पढ़ने के बारे में विभिन्न संस्करण कैसे जाते हैं, लेकिन आप इसे कार्रवाई में देखने के लिए Filemon / ProcMon का उपयोग कर सकते हैं; chrome.exeकभी-कभार पूरी फाइल पढ़ेंगे।
सिंथे

2
क्रोम के DNS कैश निस्तब्धता के एक कम क्रूर तरीका नहीं है superuser.com/questions/203674/...
hakunin

@ ठाकुनिन: नीट। क्रोमियम 25.0.1364.160 उबंटू 12.04 पर, यह अब भी आवश्यक नहीं है। मैंने चेक इन किया net-internals/#dnsऔर बदल जाने पर होस्ट कैश अपने आप साफ़ हो जाता /etc/hostsहै।
डेनिस

1

मेरा उत्तर उपरोक्त का एक संयोजन है क्योंकि मैं Ubuntu 16.04 के लिए फोर्टिनेट एसएसएल वीपीएन के माध्यम से अपने कार्यालय से जुड़ रहा हूं।

पहली चीज जो मुझे करनी थी वह है मेरा टर्मिनल कंसोल और निम्नलिखित कमांड को चलाना:

sudo nano /etc/resolvconf/resolv.conf.d/base

मैंने निम्न उदाहरण जोड़ा:

searchdomain domain.local
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

फिर मैंने दबाकर फाइल को बचाया CTRL-Oऔर नैनो को दबाकर बंद कर दिया CTRL-X

मैंने फिर निम्नलिखित किया और इसने पूरी तरह से काम किया:

Chrome नई प्रविष्टि का सम्मान करने के लिए, follwing करें:

/etc/hostsवर्णित @Renan के रूप में संपादित करें ।

  1. के पास जाओ chrome://chrome/settings/clearBrowserData
  2. समय की शुरुआत के बाद से चुनें।
  3. कैश खाली करें, लेकिन बाकी सब अनचेक करें।
  4. ब्राउज़िंग डेटा साफ़ करें पर क्लिक करें और इसके समाप्त होने की प्रतीक्षा करें।
  5. Chrome को पुनरारंभ करें।

Chrome को अब आपके होस्ट फ़ाइल का सम्मान करना चाहिए।

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