OS X पर Chrome अनदेखी / आदि / होस्ट क्यों करता है?


27

मैं OS X 10.8.5 और Chrome 30 का उपयोग कर रहा हूं।

मैंने 127.0.0.1 youtube.comअपनी /etc/hostsफ़ाइल में ऐसा जोड़ा है जिसमें अब यह शामिल है:

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

127.0.0.1       youtube.com

जब मैं traceroute youtube.comअपेक्षित परिणाम प्राप्त करता हूं , तो मुझे आदेश मिलता है (youtube.com 127.0.0.1 पर हल हो जाता है):

traceroute to youtube.com (127.0.0.1), 64 hops max, 52 byte packets
1  localhost (127.0.0.1)  0.272 ms  0.118 ms  0.063 ms

हालाँकि, जब मैं Chrome में youtube.com टाइप करता हूं, तो मेरा ब्राउज़र 127.0.0.1 के साथ संबंध स्थापित नहीं करता है, बल्कि YouTube के लिए "सामान्य" आईपी पते के साथ होता है। मुझे उम्मीद है कि क्रोम ने youtube.com को 127.0.0.1 पर हल किया होगा।

मैंने अपने सिस्टम की प्रॉक्सी सेटिंग का उपयोग करने के लिए Chrome को कॉन्फ़िगर किया है। ओएस एक्स में, जब मैं सिस्टम वरीयताएँ> नेटवर्क> "उन्नत ..."> प्रॉक्सी पर जाता हूं, तो मैंने "ऑटो प्रॉक्सी डिस्कवरी" चुना है।

Chrome मेरी /etc/hostsफ़ाइल की अनदेखी क्यों कर रहा है ?


4
क्या आप निश्चित हैं कि यह youtube.com और www.youtube.com को हल करने का प्रयास कर रहा है? यह भी हो सकता है कि youtube.com में 301 रीडायरेक्ट है जो ब्राउज़र द्वारा कैश किया गया है ताकि वह youtube.com से संपर्क करने का प्रयास न करे (चेक करने के लिए मेरे कंप्यूटर पर नहीं)।
user2313067

@ user2313067 धन्यवाद! मैंने संशोधित / आदि / मेजबानों के लिए www.youtube.com को 127.0.0.1 हल करने के लिए एक लाइन भी है और इसने चाल चली।
जोनाथन

@ user2313067 आप अपनी टिप्पणी को उत्तर के रूप में पोस्ट करना चाह सकते हैं।
ब्लैकलाइट शाइनिंग


आप शायद एक वीपीएन या क्रोम एक्सटेंशन का उपयोग कर रहे हैं जो किसी और में आपके कनेक्शन को बदल देता है
user1735921

जवाबों:


8

www.youtube.comअपने होस्ट फ़ाइल में जोड़ने का प्रयास करें । youtube.comको स्थायी रूप से पुनर्निर्देशित किया जाता है www.youtube.com, इसलिए जब तक आप youtube.comएक बार गए हैं, आपका ब्राउज़र इस प्रतिक्रिया को कैश करता है और आपको रीडायरेक्ट करता है www.youtube.com। यह पता आपके होस्ट फ़ाइल में नहीं है, इसलिए क्रोम तार्किक रूप से इसे सही तरीके से हल करता है।


1
अपने रीडायरेक्ट स्पष्ट करने के लिए ऐसा करने के superuser.com/questions/304589/... या बस के लिए विकास गुप्त मोड का उपयोग
james.c.funk

1
जोड़ना wwwमेरे लिए काम नहीं करता है। मेरे सभी ब्राउज़र डेटा को साफ़ करने और मेरे DNS को फ्लश करने के बाद भी। शायद यह एंटी-फ़िशिंग उपाय क्रोम में बेक किया गया है?
f1lt3r

दोनों को जोड़कर नग्न और www। होस्ट फ़ाइल में संस्करणों ने मेरे लिए काम किया। मैंने क्रोम को भी अक्षम कर दिया: // ध्वज / # सक्षम-नया-क्रोम में क्रोम
LyK

10

Google Chrome आपकी होस्ट फ़ाइल को अनदेखा करता है और वास्तविक DNS लुकअप करता है (इसके बावजूद कि दूसरे क्या सोच सकते हैं, /etc/hostsDNS का हिस्सा नहीं है, यह वही है जो DNS से पहले इस्तेमाल किया गया था )। जबकि Google Chrome को उन होस्ट फ़ाइल प्रविष्टियों का सम्मान करना चाहिए जो यह नहीं करती हैं। DNS के विकल्प के रूप में होस्ट फ़ाइल को तब पढ़ा जाएगा जब कोई DNS सर्वर उपलब्ध न हो (जैसे कि आपने अपना नेटवर्क कनेक्शन अक्षम किया हो)।

आप अपनी मेजबानों फ़ाइल में "127.0.0.1 फोब्बर.देव" जोड़कर इसका परीक्षण कर सकते हैं, फिर वायरशर्क को सक्षम कर सकते हैं और अपने नेटवर्क इंटरफ़ेस पर देख सकते हैं। Chrome खोलें और http://foobar.dev/अपने एड्रेस बार में जाएं और जाएं। आप Wireshark में एक DNS क्वेरी देखेंगे, कुछ इस तरह:

2   1.668727000 192.168.32.104  8.8.8.8 DNS 75  Standard query 0x663a  A foobar.dev

एफडब्ल्यूआईडब्ल्यू, गूगल डीएनएस फोब्बर.देव के लिए 127.0.53.53 लौटाता है।

3   1.706484000 8.8.8.8 192.168.32.104  DNS 91  Standard query response 0x663a  A 127.0.53.53

HostAdmin का उपयोग करने के लिए एक वर्कअराउंड होगा जो कि एक पुराना Chrome एक्सटेंशन है जो Chrome मेजबानों का उपयोग करता है। हालाँकि, Chrome के नए संस्करण (> 38, स्पष्ट रूप से) अब इसका समर्थन नहीं करते हैं।


Chrome वास्तव में /etc/hostsOS X पर फ़ाइल को अनदेखा नहीं कर रहा है। OS X 10.10.3 पर कम से कम Chrome v43 नहीं है।
पेट्र पेलर

विरेचक एक अलग कहानी कहता है।
कार्ल विल्बर

1
तथ्य यह है कि क्रोम भी Google DNS का मतलब नहीं है / आदि / होस्ट की अनदेखी की है। यह केवल अनुकूलन / लॉगिंग / जासूसी उद्देश्यों के लिए हो सकता है। मैं OS X पर बहुत बार / etc / मेजबान फ़ाइल का उपयोग करता हूं और क्रोम के साथ कोई समस्या नहीं है।
पेट्र पेलर

3
जब मेरी होस्ट फ़ाइल में '127.0.0.1 foo.dev' है और Chrome जादुई रूप से foo.dev को 127.0.53.53 पर हल करता है, तो यह मेरे होस्ट फ़ाइल को IGNORING कर रहा है।
कार्ल विल्बर

1
हां, लेकिन वाईफाई पर, डीएनएस लुकअप करने से पहले क्रोम को मेजबानों की फाइल का उपयोग करना चाहिए । ऐसा नहीं होता। यही दिक्कत है।
कार्ल विल्बर

6

मैंने इस समस्या को ठीक किया: Chrome की उन्नत प्राथमिकता में "बंद करें आपको और आपके डिवाइस को खतरनाक साइटों से सुरक्षित रखें"।

Chrome की "सुरक्षा" में निर्मित में अपने स्वयं के DNS के विरुद्ध एक डोमेन को सीधे जाँचना और कुछ प्रकार की होस्ट प्रविष्टियों को दरकिनार करना शामिल है जो "संदिग्ध" या उन साइटों के लिए प्रविष्टियाँ हैं जो मौजूद हैं जो कि ओवरराइड हो रही हैं, जिसका अर्थ है कि अधिकांश कस्टम होस्ट प्रविष्टियों को अनदेखा किया गया है। विशेष रूप से * .देव और * .लोक विकास के लिए उपयोग की जाने वाली प्रविष्टियाँ।

इसे बंद करने से मेरे लिए 100% समय हल हो गया। यह स्थानीय विकास करते हुए मुझे महीनों से पागल बना रहा था और मुझे कहीं भी सूचीबद्ध उत्तर नहीं मिल रहा था, हर कोई बस यही कहता रहा कि यह नहीं हो रहा है। यह उन्नत सेटिंग्स में एक साधारण टॉगल था। आशा है कि यह आपकी मदद करता है, चीयर्स।


धन्यवाद, मुझे पता था कि यह पिछले हफ्ते काम किया था, मैंने कुछ दिन पहले डिफ़ॉल्ट करने के लिए क्रोम विकल्प बदल दिए और यह अब काम नहीं करता था। इसने काम कर दिया!
98percentmonkey

धन्यवाद, मुझे पता था कि यह पिछले हफ्ते काम किया था, मैंने कुछ दिन पहले डिफ़ॉल्ट करने के लिए क्रोम विकल्प बदल दिए और यह अब काम नहीं करता था। इसने काम कर दिया! इसे नए संस्करणों में "सेफ ब्राउजिंग" कहा जाता है
98percentmonkey

0

लोकलहोस्ट 127.0.0.1 पते के लिए एक सम्मेलन है जो tcp / ip के लिए एक आंतरिक पता है, हालांकि, Chrome पते का समाधान करने के लिए / etc / host का उपयोग नहीं कर रहा है, यह DNS सर्वर का उपयोग कर रहा है, इसलिए कोई भी पता आपके द्वारा नहीं आता है / etc / मेजबान, लेकिन एक DNS सर्वर से, अगर यह / etc / मेजबान का उपयोग कर रहा था, तो उसे किसी भी पते को हल करने के लिए पूरे www होस्टनाम को रखना होगा।

उम्मीद है की यह मदद करेगा।


1
-1। /etc/hostsकिसी भी DNS सर्वर को ओवरराइड करता है। हां, यदि आप केवल उपयोग कर रहे हैं, तो /etc/hostsइसमें सभी डोमेन नाम शामिल होंगे, लेकिन अधिकांश सेटअप में DNS सर्वर भी शामिल हैं। Chrome बस, डोमेन नाम को हल करने ओएस पूछता है यह कैसा होना चाहिए , /etc/hostsपहले जाँच की जाएगी, और अगर यह एक प्रविष्टि शामिल नहीं है, तो एक DNS पूछताछ बाहर भेजा जाएगा।
ब्लैकलाइट शाइनिंग

/etc/hosts ओवरराइड और डीएनएस अनुरोध करना चाहिए लेकिन Google Chrome के साथ ऐसा नहीं है। यह मेजबान फ़ाइल में क्या हो सकता है के बावजूद अपने स्वयं के DNS लुकअप को सुधारता है। यह आसानी से प्रदर्शन है। यह विशेष रूप से .devTLD का उपयोग कर स्थानीय विकास के लिए एक मुद्दा है ।
कार्ल विल्बर

0

मैं यह सोचकर इस सवाल hostsपर अड़ गया था कि .devविकास के लिए उपयोग किए जाने वाले नकली डोमेन के लिए फ़ाइल macOS के लिए क्रोम पर काम नहीं करती ।

वास्तव में यह काम करता है , कम से कम क्रोम 77 पर।

मुद्दा यह नहीं है कि डोमेन नहीं मिला है, लेकिन यह सब .dev अब स्वचालित रूप से https पर पुनर्निर्देशित हो गया है :

इस साइट तक नहीं पहुंचा जा सकता है - क्रोम

यदि आप डोमेन नाम पर डबल-क्लिक करते हैं, तो आप अपराधी को देख सकते हैं:

https

अब जब Google ने हमारा तोड़ दिया .dev, एक समाधान के रूप में, ऊपर दिए गए लिंक से, जैसे .testया , विकास के लिए एक और TLD में जाने का सुझाव दिया गया है .localhost

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