जब आप विंडोज़ पर इंटरनेट सूचना सेवा (आईआईएस) स्थापित करते हैं, तो एक खाली “डिफ़ॉल्ट वेब साइट ” डिफ़ॉल्ट रूप से बनाया गया है और मानक वेब HTTP पोर्ट पर सुनता है - TCP 80 . IIS के संदर्भ में, इसका अर्थ है कि यह साइट TCP/80 पोर्ट से आबद्ध है। इस साइट को खोलने के लिए, बस IIS सर्वर का नाम दर्ज करें (“https://web-srv1”
) या उसका आईपी पता (“https://192.168.1.100”
) आपके ब्राउज़र में। एक एकल आईआईएस वेब सर्वर दर्जनों और सैकड़ों वेबसाइटों की सेवा कर सकता है, और आप एक ही टीसीपी पोर्ट (80, 443, या जो भी) पर सुन और प्रतिक्रिया दे रहे हैं, उस पर कई वेब साइट चला सकते हैं। हालाँकि, IIS प्रबंधक का इंटरफ़ेस यह स्पष्ट नहीं करता है कि आप किसी अन्य वेबसाइट को किसी अन्य पोर्ट (जैसे, 8080) से बाध्य किए बिना होस्ट कर सकते हैं। इस लेख में हम दिखाएंगे कि एक ही आईआईएस सर्वर पर कई वेबसाइटों को कैसे होस्ट किया जाए और उन्हें एक ही पोर्ट और आईपी पते, या अलग-अलग आईपी पते से कैसे जोड़ा जाए।
सामग्री:
- IIS वेब साइट बाइंडिंग
- होस्ट हेडर का उपयोग करके IIS पर एकाधिक वेबसाइट होस्ट करना
- आईआईएस पर अलग-अलग आईपी पतों के साथ कई साइटें चलाएं
- पावरशेल का उपयोग करके IIS साइट बाइंडिंग प्रबंधित करना
IIS वेब साइट बाइंडिंग
विंडोज सर्वर पर चलने वाला एक वेब आईआईएस सर्वर कई वेबसाइटों को होस्ट कर सकता है। हालांकि, आईआईएस HTTP अनुरोधों को सही ढंग से वितरित करने के लिए, प्रत्येक वेबसाइट को कुछ अद्वितीय मूल्य के साथ पहचाना जाना चाहिए। IIS वेबसाइट के मामले में, इसमें तीन विशेषताएँ होती हैं जो प्रत्येक वेबसाइट के लिए एक अद्वितीय संयोजन बनाती हैं। ये हैं:
- टीसीपी पोर्ट नंबर
- एक आईपी पता
- होस्ट हेडर (होस्ट नाम)
होस्ट की गई वेबसाइटों के बारे में जानकारी सर्वर बाइंडिंग . में संग्रहीत की जाती है निम्नलिखित प्रारूप में आईआईएस मेटाबेस की विशेषता:IP:Port:Hostname
. इस प्रकार, यदि आप एक ही पोर्ट और आईपी पते पर कई वेबसाइटों को होस्ट करना चाहते हैं, तो आपको एक अद्वितीय होस्ट हेडर का उपयोग करना होगा। . यह क्या है? होस्ट हेडर क्लाइंट द्वारा भेजे गए सर्वर को HTTP अनुरोध का एक हिस्सा है जो निर्दिष्ट करता है कि इसे किस वेबसाइट को संबोधित किया गया है। तदनुसार, इस होस्ट हेडर को वेब सर्वर के किनारे पर निर्दिष्ट किया जाना चाहिए, और DNS में सही रिकॉर्ड होता है जो आईआईएस वेब सर्वर के होस्टनाम और आईपी पते से मेल खाता है।
मान लीजिए कि आपके पास IIS पर चलने वाली और 80 पोर्ट सुनने वाली वेबसाइट है। और आपको दूसरी वेबसाइट को उसी पोर्ट से बाइंड करना होगा।
IIS प्रबंधक में, दूसरी वेबसाइट बनाएं (वेबसाइट जोड़ें ) टेस्टसाइट नाम के साथ, कौन सी फाइलें c:\inetpub\TestSite में स्थित होंगी (अभी तक होस्टनाम निर्दिष्ट न करें)।
आपके द्वारा ठीक क्लिक करने के बाद, एक चेतावनी दिखाई देती है कि आप बाइंडिंग का उपयोग नहीं कर सकते *:8 0 दोनों साइटों के लिए।
वेबसाइट जोड़ें बाध्यकारी '*:80:' किसी अन्य साइट को असाइन किया गया है। यदि आप इस साइट के लिए समान बाइंडिंग असाइन करते हैं, तो आप केवल एक साइट प्रारंभ करने में सक्षम होंगे। क्या आप वाकई इस डुप्लीकेट बाइंडिंग को जोड़ना चाहते हैं?
इस चेतावनी से सहमत हैं। तो आपके पास एक और साइट है जो पोर्ट 80 के लिए बाध्य है, आप पहली साइट को रोके बिना इसे शुरू नहीं कर सकते।
होस्ट हेडर का उपयोग करके IIS पर एकाधिक वेबसाइट होस्ट करना
एक अद्वितीय बाइंडिंग बनाने के लिए, दूसरी IIS वेबसाइट के लिए दूसरा नाम (होस्ट नाम) निर्दिष्ट करें। टेस्ट साइट पर राइट-क्लिक करें और संपादित करें select चुनें बाइंडिंग . आपको जिस बाइंडिंग की आवश्यकता है उसे चुनें और संपादित करें click पर क्लिक करें .
होस्ट . में उस विशिष्ट होस्ट नाम को निर्दिष्ट करें जिसे उपयोगकर्ता टेस्टसाइट की तरह संबोधित करेंगे नाम फ़ील्ड.
आप कमांड प्रॉम्प्ट का उपयोग करके IIS साइट बाइंडिंग को कॉन्फ़िगर कर सकते हैं। इस मामले में, आईआईएस 7 या नए के लिए बाध्यकारी कॉन्फ़िगर करने के लिए आदेश इस तरह दिखता है:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
अब आप दूसरी वेबसाइट भी शुरू कर सकते हैं।
आपको बस इतना करना है कि सर्वर (ए या सीएनएन) के लिए आईपी पते या आपके आईआईएस वेब सर्वर के होस्टनाम को इंगित करने के लिए एक DNS उपनाम जोड़ना है। यदि आप एक सक्रिय निर्देशिका डोमेन का उपयोग कर रहे हैं, तो आपको डोमेन नियंत्रक पर DNS रिकॉर्ड बनाने की आवश्यकता है।
आप एक CNAME बना सकते हैं DNS कंसोल में नाम टेस्टसाइट के लिए रिकॉर्ड (dnsmgmt.msc
) और अपने IIS सर्वर के डोमेन नाम को FQDN लक्ष्य होस्ट के रूप में निर्दिष्ट करें।
यह DNS रिकॉर्ड PowerShell का उपयोग करके भी बनाया जा सकता है:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
https://TestSite
open खोलने का प्रयास करें आपके ब्राउज़र में। इसे सफलतापूर्वक खोलना चाहिए।
यहां कुछ उपयोगी नोट्स दिए गए हैं जिनका उल्लेख किया जाना चाहिए।
यदि आप एक स्टैंडअलोन आईआईएस सर्वर का उपयोग कर रहे हैं, तो सर्वर के आईपी पते पर साइट नामों की मैपिंग फ़ाइल C:\Windows\system32\drivers\etc\hosts
के माध्यम से की जाती है।
बाइंड सेटिंग्स को IIS कॉन्फ़िगरेशन फ़ाइल C:\Windows\System32\inetsrv\config\applicationHost.config
के अनुभाग में संग्रहीत किया जाता है ।
हमारे मामले में, इस खंड में निम्नलिखित डेटा है:
<बाइंडिंग><बाइंडिंग प्रोटोकॉल="http" बाइंडिंगइन्फॉर्मेशन="*:80:" /> <एप्लिकेशन पथ="/" applicationPool="TestSite"> logs\FailedReqLogFiles" />
इसी तरह, आप अपने IIS वेब सर्वर के एक ही पोर्ट पर कई सौ साइटों को होस्ट और चला सकते हैं।
IIS पर अलग-अलग 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
यह साइट बाइंडिंग सेटिंग्स को खोलने और साइट को आपके होस्ट के अतिरिक्त आईपी पते से जोड़ने के लिए बनी हुई है।
पावरशेल का उपयोग करके IIS साइट बाइंडिंग प्रबंधित करना
आप PowerShell का उपयोग करके IIS सर्वर पर साइटों की बाइंडिंग का प्रबंधन कर सकते हैं। इसके लिए वेबएडमिनिस्ट्रेशन मॉड्यूल का उपयोग किया जाता है:
Import-Module WebAdministration
सभी उपलब्ध IIS साइटों और उनकी बाइंडिंग के बारे में जानकारी प्रदर्शित करें:
Get-IISSite
या किसी एक साइट के बारे में:
(Get-Website -Name NewSite).bindings.Collection
इस साइट के बंधन को बदलने के लिए (आप आईपी पते, पोर्ट या नाम बदल सकते हैं):
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:"
इस प्रकार, आप आईआईएस वेब सर्वर पर विभिन्न आईपी पते और एक ही आईपी पते और टीसीपी पोर्ट नंबर दोनों पर कई साइटें चला सकते हैं।