विंडोज 8.1 में लोकलहोस्ट काम क्यों नहीं करता है, लेकिन 127.0.0.1 करता है?


1

मेरे पास एक HTTP सर्वर है जो पोर्ट 9876 पर चल रहा है।

मैंने http://127.0.0.1:9876/क्रोम में डाल दिया और पृष्ठ तुरंत लोड हो गया।

मैंने http://localhost:9876/क्रोम में डाल दिया और पेज कभी लोड नहीं हुआ।

मैंने कभी C: \ Windows \ System32 \ ड्राइवरों / etc \ Host को संशोधित नहीं किया है।

मेजबानों फ़ाइल में हर पंक्ति टिप्पणी की है।

निम्न लाइनें फ़ाइल में मौजूद हैं और प्रासंगिक हो सकती हैं:

# localhost name resolution is handled within DNS itself.
#   127.0.0.1       localhost

जैसा कि मैंने कहा, मैंने खुद इन पंक्तियों को नहीं जोड़ा है। मैंने मेजबान फ़ाइल को संपादित नहीं किया है।

जाहिर है कि मैं लोकलहोस्ट काम करने के लिए दूसरी लाइन को अनसुना कर सकता हूं। लेकिन पहली पंक्ति सही होने पर यह क्यों आवश्यक है? क्या माइक्रोसॉफ्ट ने पहली पंक्ति लिखी थी? ऐसा लगता है कि वे मुझे बता रहे हैं कि लोकलहोस्ट परिभाषित किए बिना काम करेगा।


क्या आपका HTTP सर्वर भी ::1या सिर्फ IPv4 पर सुन रहा है ?
jscott

1
बस ipv4। । ।
cja

इसे localhost
अनकम्फर्ट

पहली पंक्ति मानती है कि आप अपने बॉक्स पर DNS चला रहे हैं, और यह कि लोकलहोस्ट आपके स्थानीय आईपी का समाधान करेगा।
स्टीव बटलर

@SteveButler ठीक है, कि एक जवाब में डाल दिया और मैं इसे स्वीकार करेंगे। इसके अलावा, क्या आप बता सकते हैं कि एमएस ने डिफ़ॉल्ट रूप से लोकलहोस्ट को निष्क्रिय करने का फैसला क्यों किया?
cja

जवाबों:


0

मुझे विश्वसनीय दस्तावेज़ नहीं मिल रहे हैं, लेकिन यह प्रतीत होता है कि विंडोज़ 7 के बाद से उन्होंने लोकलहोस्ट रिज़ॉल्यूशन को डीएनएस में बदल दिया। मैं अनुमान लगा रहा हूं कि जब आप एक ऑपरेशन करते हैं, तो DNS क्लाइंट सेवा वास्तव में लोकलहोस्ट को वापस सौंप देती है, क्योंकि आपका DNS सर्वर, जहां कभी भी होता है, शायद लोकलहोस्ट को हल नहीं करेगा। आप हमेशा होस्ट फ़ाइल सेट कर सकते हैं, और डीएनएस क्लाइंट आपको जो देता है उसे ओवरराइड करने के लिए तैयार करता है।

यहाँ कम से कम सबूत है कि यह विंडोज 7 के बाद से बदल गया:

http://support.microsoft.com/kb/972034

मैं इसकी डीएनएस सेवा मान रहा हूं, क्योंकि मेरे Win8 बॉक्स पर, उन पंक्तियों पर टिप्पणी की गई है, और फिर भी लोकलहोस्ट वापस हल करता है :: 1 और निश्चित रूप से मेरा DNS IPv6 के लिए कॉन्फ़िगर नहीं किया गया है, और यहां तक ​​कि अगर यह था, तो यह नहीं होगा लोकलहोस्ट को हल करें।


1

यदि आप दूसरा '#' हटाते हैं, तो लोकलहोस्ट को भी काम करना चाहिए।

से

# 127.0.0.1     localhost

सेवा मेरे

127.0.0.1     localhost

क्षमा करें - मुझे एहसास है कि मैंने अपनी समझ नहीं बताई। कृपया प्रश्न में नया अंतिम पैराग्राफ देखें।
CJA

'127.0.0.1' शायद (हार्ड) टीसीपी / आईपी स्टैक में कोडित है लेकिन 'लोकलहोस्ट' नहीं है
पोलिकिन

टिप्पणी का क्या अर्थ है? तात्पर्य यह है कि लोकलहोस्ट मेजबानों की फाइल में एंट्री के बिना काम करता है
cja

@cja हाँ यह उस लोकलहोस्ट फ़ाइल में प्रविष्टि के बिना काम करना चाहिए। यकीन नहीं होता कि यह आपके लिए क्यों नहीं है।
माइकल

0

टिप्पणी विंडोज़ में ही DNS कार्यान्वयन की बात कर रही है, क्रोम में DNS कार्यान्वयन की नहीं।


यही मैंने सोचा था
cja

0

हाँ Microsoft ने वह परिवर्तन किया। जाहिरा तौर पर ऐसा इसलिए है क्योंकि IP6 केवल मशीन (भविष्य में और अधिक सामान्य होगी) जो कि लोकलहोस्ट को IP4 पते पर हल करने की डिफ़ॉल्ट प्रविष्टि से काम नहीं करेगी। इसलिए उन्होंने उस तर्क को DNS रिज़ॉल्वर में ही स्थानांतरित कर दिया जहाँ वे स्वतंत्र रूप से अक्षम हो सकते थे।

स्रोत: https://serverfault.com/a/9665/104049


-1

विंडोज 8.1 में अपग्रेड करने से कुछ या सभी जोड़ी गई सेवाओं को नष्ट कर दिया जाएगा ... यानी अपाचे, MySQL। बस अपने कंप्यूटर पर चलने वाली सेवाओं को देखें, आप देखेंगे कि आपकी सभी वेब संबंधित सेवाएँ GONE हैं।


सुपर उपयोगकर्ता में आपका स्वागत है! यह ओपी के सवाल का जवाब नहीं देता है- ऐसा कोई संकेत नहीं है कि यह अपग्रेड के हिस्से के रूप में बदल गया है।
बर्टिएब

इसके अलावा, प्रश्न स्पष्ट रूप से कहता है कि http://127.0.0.1:9876/काम करता है, इसलिए स्पष्ट रूप से स्थानीय सेवा अभी भी चल रही है।
स्कॉट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.