Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रणाली >> Windows Server

एक ही पोर्ट या IP पते पर कई IIS वेबसाइट्स चलाना

जब आप विंडोज पर इंटरनेट इंफॉर्मेशन सर्विसेज (IIS) इंस्टॉल करते हैं, तो डिफ़ॉल्ट रूप से एक खाली "डिफ़ॉल्ट वेब साइट" बनाई जाती है और मानक वेब HTTP पोर्ट - TCP 80 पर सुनती है। IIS के संदर्भ में, इसका मतलब है कि यह साइट TCP/80 पोर्ट से बंधी है। इस साइट को खोलने के लिए, बस अपने ब्राउज़र में IIS सर्वर का नाम ("https://web-srv1") या उसका IP पता ("https://192.168.1.100") दर्ज करें। एक सिंगल IIS वेब सर्वर दर्जनों और सैकड़ों वेबसाइट्स की सेवा कर सकता है, और आप इस पर कई वेब साइट्स चला सकते हैं, जो एक ही TCP पोर्ट (80, 443, या जो भी) पर सुनते और प्रतिक्रिया देते हैं। हालांकि, IIS मैनेजर का इंटरफेस यह स्पष्ट नहीं करता कि आप किसी अन्य पोर्ट (जैसे 8080) से बांधे बिना दूसरी वेबसाइट होस्ट कर सकते हैं। इस लेख में हम दिखाएंगे कि एक ही IIS सर्वर पर कई वेबसाइट्स को कैसे होस्ट किया जाए और उन्हें एक ही पोर्ट और IP पते पर बांधा जाए, या अलग-अलग IP पतों पर।

IIS वेब साइट बाइंडिंग

विंडोज सर्वर पर चलने वाला एक सिंगल वेब IIS सर्वर कई वेबसाइट्स होस्ट कर सकता है। हालांकि, IIS को HTTP अनुरोधों को सही ढंग से वितरित करने के लिए, प्रत्येक वेबसाइट की पहचान कुछ अद्वितीय मूल्य से की जानी चाहिए। IIS वेबसाइट के मामले में, इसमें तीन एट्रिब्यूट्स होते हैं जो प्रत्येक वेबसाइट के लिए एक अद्वितीय संयोजन बनाते हैं। ये हैं:

  • एक TCP पोर्ट नंबर
  • एक IP पता
  • एक होस्ट हेडर (होस्ट नाम)

होस्ट की गई वेबसाइट्स के बारे में जानकारी IIS मेटाबेस के ServerBindings एट्रिब्यूट में निम्न फॉर्मेट में संग्रहीत होती है: IP:Port:Hostname। इस प्रकार, यदि आप एक ही पोर्ट और IP पते पर कई वेबसाइट्स होस्ट करना चाहते हैं, तो आपको एक अद्वितीय होस्ट हेडर का उपयोग करना होगा। यह क्या है? होस्ट हेडर क्लाइंट द्वारा सर्वर को भेजे गए HTTP अनुरोध का एक हिस्सा है जो निर्दिष्ट करता है कि यह किस वेबसाइट को संबोधित है। तदनुसार, इस होस्ट हेडर को वेब सर्वर की तरफ निर्दिष्ट किया जाना चाहिए, और DNS में सही रिकॉर्ड होना चाहिए जो होस्टनाम और IIS वेब सर्वर के IP पते से मेल खाता हो।

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

IIS मैनेजर में, TestSite नाम से एक और वेबसाइट बनाएं (वेबसाइट जोड़ें), जिसकी फाइलें c:\inetpub\TestSite में स्थित होंगी (होस्टनाम अभी निर्दिष्ट न करें)।

OK पर क्लिक करने के बाद, एक चेतावनी दिखाई देती है कि आप दोनों साइट्स के लिए बाइंडिंग *:80 का उपयोग नहीं कर सकते।

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

इस चेतावनी से सहमत हों। तो आपको पोर्ट 80 पर बंधी एक और साइट मिल गई है, आप इसे पहली साइट को रोके बिना शुरू नहीं कर सकते।

होस्ट हेडर्स का उपयोग करके IIS पर कई वेबसाइट्स होस्ट करना

एक अद्वितीय बाइंडिंग बनाने के लिए, दूसरी IIS वेबसाइट के लिए दूसरा नाम (होस्ट नाम) निर्दिष्ट करें। TestSite पर राइट-क्लिक करें और बाइंडिंग संपादित करें चुनें। आवश्यक बाइंडिंग चुनें और संपादित करें पर क्लिक करें।

होस्ट नाम फील्ड में अद्वितीय होस्ट नाम निर्दिष्ट करें जिसे यूजर्स संबोधित करेंगे, जैसे TestSite।

आप कमांड प्रॉम्प्ट का उपयोग करके IIS साइट बाइंडिंग कॉन्फिगर कर सकते हैं। इस मामले में, IIS 7 या नए के लिए बाइंडिंग कॉन्फिगर करने की कमांड इस तरह दिखती है:

C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']

अब आप दूसरी वेबसाइट को भी शुरू कर सकते हैं।

आपको बस इतना करना है कि सर्वर के लिए DNS एलियास (A या CNAME) जोड़ें जो आपके IIS वेब सर्वर के IP पते या होस्टनाम की ओर इशारा करता है। यदि आप एक्टिव डायरेक्टरी डोमेन का उपयोग कर रहे हैं, तो आपको डोमेन कंट्रोलर पर DNS रिकॉर्ड्स बनाने होंगे।

आप DNS कंसोल (dnsmgmt.msc) में testsite नाम के लिए एक CNAME रिकॉर्ड बना सकते हैं और अपने IIS सर्वर के डोमेन नाम को FQDN टारगेट होस्ट के रूप में निर्दिष्ट कर सकते हैं।

यह DNS रिकॉर्ड पावरशेल का उपयोग करके भी बनाया जा सकता है:

Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com

अपने ब्राउज़र में https://TestSite खोलने का प्रयास करें। यह सफलतापूर्वक खुलना चाहिए।

यहां कुछ उपयोगी नोट्स हैं जिनका उल्लेख करना उचित है।

यदि आप स्टैंडअलोन IIS सर्वर का उपयोग कर रहे हैं, तो साइट नामों को सर्वर के IP पते पर मैप करना फाइल C:\Windows\system32\drivers\etc\hosts के माध्यम से किया जाता है।

बाइंड सेटिंग्स IIS कॉन्फिग फाइल C:\Windows\System32\inetsrv\config\applicationHost.config के <sites> सेक्शन में संग्रहीत होती हैं।

हमारे मामले में, इस सेक्शन में निम्न डेटा होता है:

<sites> <site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site> <site name="TestSite" id="2" serverAutoStart="true"> <application path="/" applicationPool="TestSite"> <virtualDirectory path="/" physicalPath="C:\inetpub\TestSite" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:TestSite" /> </bindings> </site> <siteDefaults> <logFile logFormat="W3C" directory="%SystemDrive%\inetpub\logs\LogFiles" /> <traceFailedRequestsLogging directory="%SystemDrive%\inetpub\logs\FailedReqLogFiles" /> </siteDefaults> <applicationDefaults applicationPool="DefaultAppPool" /> <virtualDirectoryDefaults allowSubDirConfig="true" /> </sites>

इसी तरह, आप अपने IIS वेब सर्वर के एक ही पोर्ट पर कई सौ साइट्स होस्ट और चला सकते हैं।

IIS पर अलग-अलग IP पतों के साथ कई साइट्स चलाना

अब आइए IIS वेब सर्वर पर दो साइट्स को अलग-अलग IP पतों पर चलाने का प्रयास करें। सबसे पहले, आपको विंडोज सर्वर पर एक अलग VLAN इंटरफेस जोड़ने की आवश्यकता है या बस अपने NIC को एक अतिरिक्त IP पता (एलियास) असाइन करें।

इस उदाहरण में, सर्वर का मुख्य IP पता 192.168.13.100 है, और मैं उसी नेटवर्क एडाप्टर पर एक अतिरिक्त IP एलियास 192.168.13.101 जोड़ूंगा:

Get-NetIPAddress | ft IPAddress, InterfaceAlias, SkipAsSource
New-NetIPAddress –IPAddress 192.168.13.101 –PrefixLength 24 –InterfaceAlias "Ethernet" –SkipAsSource $True

अब आपको DNS सर्वर पर नई साइट के लिए एक A रिकॉर्ड बनाने की आवश्यकता है (हम –CreatePtr विकल्प के साथ रिवर्स जोन में एक PTR रिकॉर्ड भी बनाएंगे):

Add-DnsServerResourceRecordA -Name NewSite3 -IPv4Address 192.168.13.101 -ZoneName woshub.com -TimeToLive 01:00:00 –CreatePtr

साइट बाइंडिंग सेटिंग्स खोलना बाकी है और साइट को अपने होस्ट के अतिरिक्त IP पते से बांधें।

पावरशेल का उपयोग करके IIS साइट बाइंडिंग्स प्रबंधित करना

आप पावरशेल का उपयोग करके IIS सर्वर पर साइट्स की बाइंडिंग प्रबंधित कर सकते हैं। इसके लिए WebAdministration मॉड्यूल का उपयोग किया जाता है:

Import-Module WebAdministration

सभी उपलब्ध IIS साइट्स और उनकी बाइंडिंग्स के बारे में जानकारी प्रदर्शित करें:

Get-IISSite

या एक सिंगल साइट के बारे में:

(Get-Website -Name NewSite).bindings.Collection

protocol bindingInformation sslFlags -------- ------------------ -------- http 192.168.13.101:80:NewSite3 0

इस साइट की बाइंडिंग बदलने के लिए (आप IP पते, पोर्ट या नाम बदल सकते हैं):

Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:80:NewSite1" -PropertyName 'Port' -Value '8080'
Set-WebBinding -Name NewSite1 -BindingInformation "192.168.13.101:8080:NewSite1" -PropertyName 'IPAddress' -Value '192.168.13.100'

किसी विशिष्ट IIS साइट पर एक नई बाइंडिंग जोड़ने के लिए, चलाएं:

New-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:" -Protocol http

बाइंडिंग हटाने के लिए:

Remove-IISSiteBinding -Name NewSite1 -BindingInformation "*:9090:"

इस प्रकार, आप IIS वेब सर्वर पर कई साइट्स को अलग-अलग IP पतों और एक ही IP पते और TCP पोर्ट नंबर दोनों पर चला सकते हैं।

  1. विंडोज 11/10 में एक ही प्रोग्राम के कई इंस्टेंस कैसे खोलें विंडोज 11/10 में एक ही प्रोग्राम के कई इंस्टेंस कैसे खोलें

    कई बार ऐसा होता है कि आपको उसी एप्लिकेशन का दूसरा इंस्टेंस खोलने की आवश्यकता होती है और उन्हें अपने विंडोज 11/10/8/7 कंप्यूटर पर एक ही समय में चलाना होता है। यदि आपने कभी विंडोज टास्कबार से एप्लिकेशन के कई इंस्टेंस चलाने की आवश्यकता महसूस की है, तो यह पोस्ट निश्चित रूप से आपके प्रश्न का उत्तर देगी।

  1. एक साथ कई Gmail अकाउंट कैसे इस्तेमाल करें? एक साथ कई Gmail अकाउंट कैसे इस्तेमाल करें?

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

  1. Android डिवाइस पर डुप्लीकेट कॉन्टैक्ट्स को तुरंत कैसे हटाएं Android डिवाइस पर डुप्लीकेट कॉन्टैक्ट्स को तुरंत कैसे हटाएं

    स्मार्टफोन के आगमन के साथ, हमारे मोबाइल डिवाइस पर संपर्क सूची बनाए रखना और कुछ टैप के साथ उन्हें कॉल करना काफी सुविधाजनक हो गया है। हालांकि, Android फोरम पर संपर्कों से संबंधित एक समस्या को उजागर किया गया है जो समान जानकारी के साथ कई संपर्कों के निर्माण की समस्या का वर्णन करती है। ये समान संपर्क अधि