सफारी मेरी / आदि / मेजबानों की फाइल की अनदेखी क्यों कर रही है?


25

मैंने 127.0.0.1 mydomain.comअपनी /etc/hostsफ़ाइल में कुछ डोमेन ब्लॉक ( ) के लिए जोड़े और किसी कारण से, सफारी उन्हें अनदेखा करती दिख रही है।

मैंने कोशिश की है:

  • सफारी एक्सटेंशन अक्षम करना,
  • कैश साफ़ करना ( sudo dscacheutil -flushcache),
  • सफ़ारी और मैक को पूरी तरह से फिर से शुरू करना।

क्रोम /etc/hostsपरिवर्तनों का सम्मान करता है , लेकिन सफारी नहीं करता है। संलग्न मेरी /etc/hostsफाइल का एक नमूना है ।

मैं माउंटेन लॉयन 10.8.3 के साथ सफारी 6.0.4 चला रहा हूं

कोई विचार?

##
# 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       facebook.com

3
यदि कोई प्रतिक्रिया नहीं है, तो सफारी www.URL की शुरुआत में जोड़ने का प्रयास करेगी । फेसबुक तब ब्राउजर को रीडायरेक्ट कर सकता है Facebook.comwww.facebook.comअपनी फ़ाइल में जोड़ने का प्रयास करें और देखें कि क्या काम करता है।
जोशराज

मैंने सोचा कि यह मामला हो सकता है। मैंने www.facebook.com और * .facebook.com दोनों की कोशिश की। न काम किया।
निकोलस टलाच

जब मैंने कोड ब्लॉक में टेक्स्ट को / etc / मेजबान के रूप में सहेजा, तो उसने सफारी में फेसबुक को ब्लॉक कर दिया। क्या आपके / etc / मेजबानों ने CR लाइन एंडिंग्स का उपयोग किया है, या क्या आपने IPv6 प्रविष्टियों के ऊपर अन्य प्रविष्टियों को स्थानांतरित करने की कोशिश की है ?
LRI

मजे की बात यह है कि जिस लाइन का उपयोग मैं search.yahoo.com को DuckDuckGo के रीडायरेक्ट करने के लिए करता हूं, भले ही मैं इसे facebook.com के लिए रीडायरेक्ट करने के बाद डालूं, लेकिन फेसबुक लाइन कुछ भी नहीं करती है। पूरी तरह से इस पर स्टम्प्ड।
निकोलस तुलच

क्या आपने डीएनएस कैश फ्लश किया और सुरक्षित इतिहास और कैश को साफ़ करें- यदि आप नहीं जानते कि डीएनएस कैश को कैसे फ्लश किया जाए तो आप अपने मैक को पुनः आरंभ कर सकते हैं।
कोनकुई

जवाबों:


13

मेरे पास एक ही समस्या का थोड़ा अलग संस्करण था, और मैंने सोचा कि मैं क्या काम करूंगा।

मैं वेबसाइट विकसित करता हूं। ऐसा करने के लिए, मेरे पास अपने स्थानीय नेटवर्क पर चलने वाली प्रत्येक साइट की पूरी प्रति है। जब मैं स्थानीय रूप से काम करना चाहता हूं, मैंने हमेशा अपने स्थानीय / etc / मेजबान फ़ाइल में "example.com" के लिए एक प्रविष्टि जोड़ी है, और यह हमेशा DNS को ओवरराइड करता है, जिससे मेरे लिए वेबसाइट की स्थानीय प्रतिलिपि तक पहुंचना संभव हो जाता है सफ़ारी और फ़ायरफ़ॉक्स सहित कोई भी ब्राउज़र। मैं वास्तविक लाइव साइट को प्रभावित किए बिना काम कर सकता हूं, फिर जब वे पूर्ण हों तो परिवर्तन अपलोड करें।

हाल ही में, हालांकि, इस तकनीक ने सफारी और फ़ायरफ़ॉक्स दोनों के लिए काम करना बंद कर दिया, लेकिन क्रोम के लिए नहीं, इसलिए थोड़ी देर के लिए मैं स्थानीय विकास के लिए क्रोम का उपयोग करने तक सीमित था। मैंने Google को खोजा और सभी सुझाए गए सुधारों की कोशिश की - मेजबान फ़ाइल के अंत में CR, प्रति पंक्ति केवल एक प्रविष्टि, "के बारे में: config", आदि का उपयोग करते हुए विभिन्न फ़ायरफ़ॉक्स कॉन्फ़िगरेशन में परिवर्तन हुआ।

फिर मैंने इस सरल चीज़ की कोशिश की: पते के IPV4 संस्करण को / etc / मेजबान फ़ाइल में डालने के अलावा, मैंने IPV6 संस्करण भी डाला।

पहले:

10.0.1.23       example.com

बाद:

10.0.1.23       example.com
0:0:0:0:0:FFFF:0A00:0117        example.com

जैसे ही मैंने IPV6 प्रविष्टि जोड़ी, फ़ायरफ़ॉक्स और सफारी दोनों ने सही (स्थानीय) सर्वर मारना शुरू कर दिया।

विभिन्न वेबसाइटें हैं जो आईपीवी 6 पते को आईपीवी 6 में अनुवाद करेंगी; बस "ipv4 से ipv6" पर एक Google खोज करें।


क्या आप जाँच सकते हैं कि आपका अंतिम चरित्र /etc/hostsएक नई रेखा है? उदाहरण के लिए इसे खोलें vi
डैन

मेरे / etc / मेजबान फ़ाइल का अंतिम वर्ण "\ n" या हेक्स 0 ए है।
फ्रेड

1
यह सही जवाब है। Safari को रोकने के लिए, आपको IPv4 और IPv6 दोनों प्रविष्टियों की आवश्यकता होगी । MacOS 10.12 में परीक्षण किया गया।
alttag

ipaddressguide.com/ipv4-to-ipv6 - दोनों 2 लाइनें जोड़ते हैं + बहुत लंबी लाइनें निकालते हैं - उन्हें अलग करते हैं - इसके काम करता है!
आर्टेमिए स्टैगनेंटइसे एलेक्सेव

8

मुझे भी यही समस्या थी और यह मेरी मेजबानों की फाइल में वास्तव में लंबी लाइनें (एक ही लाइन पर सूचीबद्ध एक ही आईपी पते पर मैप किए गए कई होस्ट) के कारण हुआ था। मैंने इसे कई लाइनों में विभाजित करके तय किया।



8

मैंने सिस्टम वरीयताओं में पैतृक नियंत्रण का उपयोग करने के बजाय / etc / मेजबान फ़ाइल का उपयोग करने वाली साइटों को ब्लॉक करने के लिए OS X El Captain 10.11.4 पर काफी समय बिताया। अंत में यह बस इस तरह काम किया:

127.0.0.1 www.website.com
127.0.0.1 website.com

मैंने बहुत से रूपांतरों की कोशिश की, लेकिन मैं हमेशा 0.0.0.0 ( 0.0.0.0 website.com) में मैप कर रहा था । किसी भी भिन्नता में कभी काम नहीं किया।

वेब पर कुछ सुझावों के विपरीत, ये बेकार थे:

  • IPv6 की तरह fe80::1%lo0 www.website.comया के लिए अवरुद्ध करने की कोई आवश्यकता नहीं थी::1 website.com
  • इसके लिए कोई ज़रूरत नहीं थी dscacheutil -flushcache, लेकिन सिर्फ मामले में ऐसा करें।
  • इससे कोई फर्क नहीं पड़ता कि आप इसे होस्ट फ़ाइल की शुरुआत या अंत में पेस्ट करते हैं
  • ऐसा लगता है कि ब्राउज़रों को अलग-अलग तरीके से जवाब दिया गया है: सही hostsफ़ाइल सहेजने के बाद, क्रोम और सफारी ने इसे तुरंत ब्लॉक कर दिया , फ़ायरफ़ॉक्स इसे थोड़ी देर के लिए अनदेखा करता रहा (यदि यह पुनरारंभ करना पर्याप्त नहीं था तो स्पष्ट नहीं)।
    • New Private Windowइसका परीक्षण करने के लिए ब्राउज़र का उपयोग या पुनः आरंभ करने का प्रयास करें ।
  • न जोड़ें http://या https://पते की शुरुआत में
  • कोई अन्य आदेश आवश्यक नहीं थे।
  • #होस्ट फ़ाइल में पहले से मौजूद पंक्तियों को निष्क्रिय न करें (= शुरुआत में टिप्पणी करके )।

उपयोगी जाँच

  • जांचें कि क्या सिस्टम आपके पुनर्निर्देशन को पहचानता है dscacheutil -q host -a name website.com- इसे प्रदर्शित करना चाहिए:

    name: website.com
    ip_address: 127.0.0.1
    
  • देखें कि क्या की वाक्य रचना hostsफ़ाइल से सही है: cat -vet /etc/hosts। यह अदृश्य वर्ण दिखाता है:

    • लाइनों के साथ समाप्त होना चाहिए $
    • के बीच 127.0.0.1और website.comकेवल एक स्थान या एक टैब होना चाहिए, जिसे प्रदर्शित किया जाता है ^I
  • ध्यान दें कि कुछ साइटों के लिए, उदाहरण के लिए facebook, आपको बहुत सारे पते ब्लॉक करने की आवश्यकता हो सकती है ।
  • मुझे लगता है कि hostsफ़ाइल को एक नई पंक्ति के साथ समाप्त होना चाहिए।

6

मेरा मुद्दा भी ऐसा ही था। जब मेरे होस्ट फ़ाइल को अन्य फ़ाइल में सिम्प्लाइड (परिवर्तित) किया गया था, तो मेरे मैक पर सॉफ़्टवेयर के प्रत्येक टुकड़े ने मेरे / etc / होस्ट्स फ़ाइल प्रविष्टि को सम्मानित किया। जब आपकी मेजबानों की फाइल एक सिमलिंक होती है, तो सफारी इसे अनदेखा कर देती है।

मेरा समाधान एक कड़ी बनाने / होस्ट करने / बनाने का था। सौभाग्य से मेजबानों की जो फाइल मैं रखता हूं, वही फाइल सिस्टम में है। यदि ऐसा नहीं है, तो आप बोर हो गए हैं।

खराब सफारी ... खराब।


1
मैं करियर बदलने पर विचार कर रहा हूं - जब तक मुझे यह नहीं मिला। सोचा था कि मैं वास्तव में स्मार्ट होऊंगा और अपने सभी dotfiles (और अन्य विन्यास फाइल) को एक git रिपॉजिटरी में संग्रहीत करूंगा, और फिर प्रतीकात्मक लिंक बनाऊंगा। आज कई घंटों से मेरे बालों में क्या बचा है, इसे खींच रहे हैं।
स्थानीयहेज

धन्यवाद, आपने मुझे हताशा से बचाया है! अविश्वसनीय सफारी!
DrMeers

4

केवल बात यह है कि मुझे (10.12.1 "सियरा") के लिए काम करता है:

127.0.0.1   example.com
127.0.0.1   www.example.com
fe80::1%lo0 example.com
fe80::1%lo0 www.example.com

2
यह सही जवाब है। आप जोड़ना आवश्यक है domain.comऔर www.domain.comमेजबान फ़ाइल में। सफारी www.आपके अनुरोध में जोड़ सकती है और साथ मेल नहीं खाएगी domain.com
वैगनर

3

Yosemite पर मेरे लिए काम किया:

  1. सिस्टम वरीयताएँ> नेटवर्क> उन्नत> प्रॉक्सी पर जाएं
  2. टिक ऑटो प्रॉक्सी डिस्कवरी, ठीक है और लागू करें (मुझे कुछ और नहीं मिला है)
  3. टर्मिनल में दर्ज करें: dscacheutil -flushcache

यह Yosemite में dnscache को फ्लश करता है। अब Safari और Chrome को आपके होस्ट फ़ाइल का सम्मान करना चाहिए।


मैं यह कोशिश करना चाहता था, लेकिन मैं अपने iPhone के साथ काम कर रहा हूं और उन्नत> प्रॉक्सी विकल्प उपलब्ध नहीं है।
रोजर ड्यूक

2

अंतिम प्रविष्टि के बाद एक या दो कैरिज रिटर्न डालने का प्रयास करें।

...
127.0.0.1       facebook.com

^ Carriage Return

1
दुर्भाग्य से यह मदद नहीं की।
निकोलस तुलच

आप एक नई पंक्ति (करना होगा नहीं एक गाड़ी वापसी) हर पंक्ति के अंत में, पिछले एक भी शामिल है।
ganbustein

जब तक वह मैक ओएस 9.: ओ
विलियम टी फ्रॉगार्ड

1

कुछ मामलों में, /etc/hostsफाइल में IPv4 और IPv6 दोनों के लिए लूपबैक पते जोड़े जाने की आवश्यकता है ।

मान लें कि हमने पहले ही IPv4 पते के लिए एक अवरुद्ध प्रविष्टि जोड़ दी है website.com:

127.0.0.1 website.com

यदि dscacheutil -q host -a name website.comदोनों प्रोटोकॉल संस्करणों के लिए रिटर्न पता:

name: website.com
ipv6_address: rand:omin:vali:dipv:6addr:ess5

name: website.com
ip_address: 127.0.0.1

फिर हमें होस्ट फ़ाइल में एक और लाइन जोड़ने की आवश्यकता है:

::1 website.com

0

मेरी गलत लाइन खत्म हो रही थी। यह LF है, मैं सीआर था।


0

मुझे यह समस्या भी थी, लेकिन समाधान वास्तव में आसान है मान लीजिए कि आप स्थानीय मशीन में अपने नाम के साथ होस्ट फ़ाइल में एक उपनाम बना सकते हैं।

होस्ट फ़ाइल में वह प्रविष्टि इस तरह दिखनी चाहिए: 127.0.0.1 localhost2

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


0

सुनिश्चित करें कि आपके / etc / मेजबान के पास ये विशेषताएँ हैं। मैं अपने उपयोगकर्ता नाम का उपयोग करके फ़ाइल को कॉपी, संशोधित और प्रतिस्थापित कर रहा था, सफारी को छोड़कर हर अन्य कार्यक्रम काम करता रहा ...

$ ls -l /etc/hosts
-rw-r--r--  1 root  wheel  1004 Sep 24 16:03 /etc/hosts

0

Https address example.com के लिए, मुझे काम करने से पहले, दोनों example.com और www.example.com के लिए IPv4 और IPv6 दोनों पतों को शामिल करना था। ऐशे ही:

##
# 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
127.0.0.1       example.com
::1     example.com
127.0.0.1       www.example.com
::1     www.example.com
255.255.255.255 broadcasthost
::1             localhost

-2

इस ब्लॉग के अनुसार http://thecoredump.org/2011/09/editing-the-hosts-file-in-mac-os-x-lion/

आपको होस्ट फ़ाइल के प्रारंभ में प्रविष्टि डालनी होगी। बहुत अपरंपरागत। हालांकि इसका कोई व्यक्तिगत अनुभव नहीं है।


वे गलत हैं। केवल सिंटैक्स मायने रखता है, स्थान नहीं। और सभी अतिरिक्त प्रविष्टियों को हमेशा चूक का पालन करना चाहिए।

वे शायद इसे होस्ट फ़ाइल को संपादित करने वाले लोगों के एक आम नुकसान से बचने के लिए शुरुआत में कहते हैं: वे अंतिम पंक्ति के अंत में एक नई लाइन डालना भूल जाते हैं। उस नई लाइन के बिना, अंतिम पंक्ति को नजरअंदाज कर दिया जाएगा। यदि आप प्रवेश को सामने से जोड़ते हैं, तो नई लाइन को भूलना मुश्किल है।
ganbustein

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