अपने नेटवर्क पर अन्य मशीनों पर मेरे IIS होस्ट की गई साइट को देखना


101

घर पर मेरे पास एक साधारण नेटवर्क सेटअप है जिसमें 2 मशीनें हैं।

एक मशीन पर मेरे पास IIS7 के साथ होस्ट की गई साइट है। मानक localhost/index.htmपते के बजाय मैंने HOSTSइस डोमेन में स्थानीय आईपी (127.0.0.1) की ओर इशारा करते हुए फ़ाइल में एक प्रविष्टि जोड़ी है - www.mysite.dev

मैं www.mysite.devबिना किसी समस्या के साइट का उपयोग कर सकता हूं ।

मैं जो करना चाहूंगा वह इस साइट को नेटवर्क पर मेरी अन्य मशीन से देखने में सक्षम होगा।

प्रारंभ में मैंने यह मान लिया कि ऐसा URL के साथ किया जा सकता है MACHINE-NAME/www.mysite.dev, लेकिन कनेक्शन हमेशा बाहर रहता है। लेकिन मैं MACHINE-NAMEसमस्याओं के बिना पिंग कर सकता हूं ।

परीक्षण प्रयोजनों के लिए मैंने दोनों मशीनों पर विंडोज़ फ़ायरवॉल को अक्षम कर दिया है लेकिन कोई खुशी नहीं है।

एक सामान्य वेब डेवलपर की तरह, मेरे हार्डवेयर / नेटवर्क कौशल बहुत खराब हैं।

क्या कोई देख सकता है कि मैं कहाँ गलत हो रहा हूँ?


क्या आपने केवल MACHINE-NAME से कनेक्ट करने का प्रयास किया है ?
लाजर

जवाबों:


155

जैसा कि दूसरों ने कहा है कि आपके फ़ायरवॉल को टीसीपी पोर्ट 80 पर आने वाली कॉल को स्वीकार करने के लिए कॉन्फ़िगर करने की आवश्यकता है ।

7+ जीतने में (आसान विज़ार्ड तरीका)

  1. पर जाने के अग्रिम सुरक्षा के साथ फ़ायरवॉल खिड़कियां
  2. आभ्यंतरिक नियम -> कार्रवाई -> नया नियम
  3. चयन पूर्वनिर्धारित रेडियो बटन और उसके बाद पिछले आइटम का चयन करें - वर्ल्ड वाइड वेब सेवा (HTTP)
  4. अगला क्लिक करें और अगले चरण छोड़ें क्योंकि वे हैं ( कनेक्शन की अनुमति दें )

  • क्योंकि आउटबाउंड ट्रैफ़िक (सर्वर से बाहरी दुनिया तक) को डिफ़ॉल्ट रूप से अनुमति है । इसका अर्थ है http प्रतिक्रियाएँ जो वेब सर्वर बाहरी उपयोगकर्ताओं और अनुरोधों को वापस भेज रही हैं

  • लेकिन इनबाउंड ट्रैफ़िक (बाहरी दुनिया से सर्वर पर आने वाला) डिफ़ॉल्ट रूप से अवरुद्ध हो जाता है जैसे कि उपयोगकर्ता अपने ब्राउज़र से उत्पन्न होने वाले वेब अनुरोधों को डिफ़ॉल्ट रूप से वेब सर्वर तक नहीं पहुंचा सकते हैं और आपको इसे खोलना होगा।

आप इस पृष्ठ पर इनबाउंड और आउटबाउंड नियमों को भी करीब से देख सकते हैं


यदि यह अभी भी काम नहीं करता है, तो आप फ़ायरवॉल को स्वयं बंद कर सकते हैं, कम से कम विकास के माहौल के लिए।
USER_NAME

@ कॉन्ट्रिस्टो, मेरी संवेदनाएं बिल्कुल :)
ब्रायन रेनर

1
@ हितेश, आपको केवल फ़ायरवॉल पर अपने चालू के माध्यम से पोर्ट 80 खोलने की आवश्यकता है। यदि आपके पास पोर्ट जोड़ने की अनुमति नहीं है, तो आपको आमतौर पर इस सर्वर के लिए इस पोर्ट को खोलने के लिए संबंधित सहायता टीम से पूछना चाहिए
Iman

1
@ हितेश: आप अपनी साइट को 80 के अलावा अन्य पोर्ट पर होस्ट कर सकते हैं और केवल उस पोर्ट को आपके लिए अनुमति दे सकते हैं। मेरा जवाब नीचे देखें कि यह कैसे करना है।
सैयद अली टाकी

1
उन्नत सुरक्षा के साथ विंडोज फ़ायरवॉल तक त्वरित पहुंच: विन + आर तब टाइप करें mmc.exe wf.msc
फेसपालम

35

यदि आप IIS में 4321 जैसे किसी विशिष्ट पोर्ट पर वेबसाइट होस्ट कर रहे हैं तो आपको इस पोर्ट को विंडोज फ़ायरवॉल के माध्यम से भी अनुमति देनी होगी। इमरानबिदी के जवाब के साथ मेरे द्वारा काम करने के लिए मैंने जो कदम उठाए हैं, वे यहां दिए गए हैं:

  1. विंडोज फ़ायरवॉल> उन्नत सेटिंग्स
  2. इनबाउंड नियम> नया नियम
  3. पोर्ट> अगला चुनें
  4. विशिष्ट स्थानीय पोर्ट> वह पोर्ट जोड़ें जिसे आप अनुमति देना चाहते हैं
  5. सभी कनेक्शनों को अनुमति दें
  6. एक नाम और कुछ विवरण दर्ज करें ताकि आप इसे बाद में याद रखें
  7. किया हुआ

10

सबसे पहले, अपने सर्वर के LAN आईपी से कनेक्ट करने का प्रयास करें। यदि IIS केवल एक वेब साइट के साथ सेट किया गया है, तो संभावना है कि आपकी साइट पॉप अप होने वाली है।

यदि आप इसे नाम से एक्सेस करना चाहते हैं, तो आपको उस हर क्लाइंट पीसी के HOSTS फ़ाइल में एक प्रविष्टि जोड़ना होगा जिसे आप साइट को देखना चाहते हैं (127.0.0.1 को स्पष्ट रूप से नहीं, बल्कि आपके सर्वर के स्थानीय आईपी पते पर)।

साथ ही, पोर्ट 80 पर आने वाली कॉल को स्वीकार करने के लिए आपके फ़ायरवॉल को कॉन्फ़िगर करना होगा।

यह आमतौर पर वह बिंदु होता है जहां DNS सेवा को सेट करने के लिए अधिक समझ में आता है कि आप "mysite.dev" जैसे नामों को केंद्रीय फ़ाइलों के साथ पंजीकृत कर सकते हैं, बिना होस्ट फ़ाइलों के साथ थपकी देने के लिए। लेकिन यह एक अलग कहानी है, और superuser.com या serverfault.com की है।


1
यहाँ फ़ायरवॉल सबसे महत्वपूर्ण हिस्सा है।
पियरे

6

फ़ायरवॉल सेटिंग्स खोलें। फिर कुछ इस तरह खोजें - फ़ायरवॉल के माध्यम से अनुमति देने के लिए प्रोग्राम या सुविधा की अनुमति दें। यदि सूची में वर्ल्ड वाइड वेब सेवाएं (HTTP) अनियंत्रित हैं, तो इसे जांचें और सिस्टम को पुनरारंभ करें।

हमारी मशीन इनबाउंड अनुरोधों को स्वीकार करने के लिए पूरी तरह तैयार है।


3

बहुत देर से जवाब लेकिन मैं कुछ बिंदु को उजागर करूंगा क्योंकि मुझे अपने IIS साइट को नेटवर्क पर स्थापित करने के लिए वर्षों पहले इससे निपटना था

  1. आपकी दोनों मशीनें एक ही नेटवर्क से जुड़ी होनी चाहिए (एक ही वायरलेस नेटवर्क ठीक है)
  2. आईपी 168.192.x.xया के माध्यम से अपने रिमोट मशीन तक पहुँचेंhttp://his-pc-name (http भाग को न भूलें)
  3. यह दूरस्थ मशीन पर डिफ़ॉल्ट IIS पेज को सर्वर करेगा (वही जिसे लोकलहोस्ट के माध्यम से परोसा जाता है)। यदि आप किसी अन्य साइट को सर्वर करना चाहते हैं, तो [आपको वह डिफ़ॉल्ट बनाना होगा] पहले 1

सुनिश्चित करें कि आपका IIS रिमोट मशीन पर ठीक से काम कर रहा है localhostजो कि डिफ़ॉल्ट साइट की सेवा करनी चाहिए। यह भी सुनिश्चित करें कि पोर्ट 80 के माध्यम से कनेक्शन की अनुमति देने के लिए आपका फ़ायरवॉल कॉन्फ़िगर किया गया है या आप परीक्षण उद्देश्यों के लिए फ़ायरवॉल को अक्षम कर सकते हैं।


मेरे कार्यस्थान नाम के बजाय IP का उपयोग करने से काम हुआ। चीयर्स!
hatsrumandcode

3

अपने फ़ायरवॉल को संशोधित करने के अलावा, पोर्ट बाइंडिंग को भी जोड़ना न भूलें!

$(SolutionDir)\.vs\config\applicationHost.configबाइंडिंग परिभाषाएँ खोलें और खोजें, कुछ इस तरह होनी चाहिए

<sites>
    <site name="Samples.Html5.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Git\Samples.Html5.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:63000:localhost" />
        </bindings>
    </site>
    ...
</sites>

बस अपने मशीन आईपी और नामित बंदरगाह को प्रतिबिंबित करने के लिए अतिरिक्त लाइनें जोड़ें

<bindings>
    <binding protocol="http" bindingInformation="*:63000:localhost" />
    <binding protocol="http" bindingInformation="*:63000:10.0.0.201" />
</bindings>

स्रोत: https://blog.falafel.com/expose-iis-express-site-local-network/


2
पोर्ट बाइंडिंग मेरे लिए एक महत्वपूर्ण कदम था! मैं IIS एक्सप्रेस का उपयोग कर रहा था जो डिफ़ॉल्ट रूप से (केवल स्थानीयहोस्ट) आईपी पते के माध्यम से प्रवेश की अनुमति नहीं देगा। तो इस कदम के बिना उच्च श्रेणी के उत्तर मेरे लिए काम करने वाले नहीं थे!
जोनोबी


2

यह देर से हो सकता है, लेकिन किसी भी अन्य व्यक्ति के लिए जो भविष्य में इस तरह के मुद्दे को प्राप्त कर सकता है, किसी भी कनेक्शन के लिए जिसे आप सर्वर से करना चाहते हैं (इस मामले में मशीन जो वेब एप्लिकेशन को होस्ट करती है, भले ही वह आईआईएस या xampp हो) फ़ायरवॉल में उपयोग किए जाने वाले विशिष्ट पोर्ट के माध्यम से कनेक्शन या ट्रैफ़िक को अनुमति देने की आवश्यकता है

1. Go to Windows Firewall -> Advanced settings
2. Click Inbound Rules -> Then New Rule
3. Select Port -> Next
4. Specific local ports -> Add the Port you want to allow
5. Allow All Connections
6. Enter a name and a description for to help you remember later on

और तुमने किया


1

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


0

127.0.0.1 हमेशा लोकलहोस्ट की ओर इशारा करता है। आपके होम नेटवर्क पर आपके पास आपके इंटरनेट राउटर (dsl / cablemodem / जो भी) द्वारा निर्धारित आईपी एड्रेस होना चाहिए। आपको अपनी वेबसाइट को इस पते पर बाँधने की आवश्यकता है। फिर आपको वेबसाइट पर आने के लिए मशीन के नाम का उपयोग करने में सक्षम होना चाहिए, लेकिन मैं उस कंप्यूटर में एक विशिष्ट नाम को इंगित करने के लिए वास्तव में क्लाइंट कंप्यूटर की होस्ट फ़ाइल को संपादित करने की सलाह दूंगा। मेजबानों फ़ाइल c: \ windows \ system32 \ ड्राइवर \ etc \ मेजबान (नोटपैड का उपयोग करें) और प्रविष्टि दिखाई देगी:

192.168.1.1     mycomputername

@ जेंशिज़िनज़ुवादिया: क्या? आपकी टिप्पणी का कोई मतलब नहीं है।
जोएल एथरटन

-1

आपको निम्नलिखित स्टेप्स करने होंगे।

IIS ->
साइट्स->
अपनी वेब साइट पर जाएं ->
एक्शन में क्लिक करें संपादित करें अनुमतियों पर क्लिक करें ->
सुरक्षा ->
ADD पर क्लिक करें ->
उन्नत ->
अभी खोजें ->
इसमें सभी उपयोगकर्ताओं को जोड़ें ->
और सभी अनुमतियाँ प्रदान करें अन्य उपयोगकर्ताओं के लिए ->
ठीक पर क्लिक करें।

यदि आप उपरोक्त चीजों को ठीक से करते हैं तो आप अपने डोमेन का उपयोग करके अपनी वेब साइट तक पहुंच सकते हैं।
सुझाव - अपनी साइट पर होस्ट का नाम न जोड़ें, यह कभी-कभी समस्या पैदा करता है। तो कृपया अपने मशीनों के आईपी पते का उपयोग करके अपनी वेब साइट की मेजबानी करें।

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