IIS मैनेजमेंट सर्विस इंस्टॉल करना
विंडोज 2016 / 2012 / R2 में वेब सर्वर इंटरनेट इंफॉर्मेशन सर्विस, पिछले IIS संस्करणों की तरह, दूरस्थ रूप से प्रबंधित किया जा सकता है। वास्तव में, एक ही कंसोल से कई IIS सर्वर को प्रबंधित करना काफी सुविधाजनक है, और यह कोर/नैनो मोड में चल रहे वेब सर्वर को प्रबंधित करने का लगभग एकमात्र तरीका है। हालांकि, डिफ़ॉल्ट रूप से रिमोट IIS मैनेजमेंट अक्षम है, और यदि आप किसी अन्य सर्वर पर IIS मैनेजमेंट कंसोल (कनेक्ट टू ए सर्वर मेनू) में रनिंग IIS के साथ रिमोट सर्वर को जोड़ने का प्रयास करते हैं, तो निम्न त्रुटि संदेश दिखाई देता है:
Could not connect to the specified computer
Details: Unable to connect to the remote server
मानक IIS इंस्टॉलेशन के दौरान इसकी रिमोट मैनेजमेंट के लिए जिम्मेदार सर्विस (IIS मैनेजमेंट सर्विस) इंस्टॉल नहीं होती है। आप निम्नलिखित पावरशेल कमांड का उपयोग करके सुनिश्चित कर सकते हैं कि यह सर्विस सिस्टम में गायब है:
Get-WindowsFeature *web-mgmt*
जैसा कि आप देख सकते हैं, Web-Mgmt-Service सर्विस इंस्टॉल नहीं है। इसे लोकल एडमिन परमिशन के साथ निम्नलिखित पावरशेल कमांड 실행 करके इंस्टॉल करें:
Add-WindowsFeature Web-Mgmt-Service
या आप फीचर इंस्टॉल करने के लिए पावरशेल कमांडलेट का उपयोग कर सकते हैं:
Install-WindowsFeature Web-Mgmt-Service
आप सर्वर मैनेजर कंसोल से मैनेजमेंट सर्विस कंपोनेंट भी इंस्टॉल कर सकते हैं।
फिर IIS वेब सर्विस को पुनः आरंभ करें:
iisreset –noforce
IIS वेब सर्वर सेटिंग्स में रिमोट कनेक्शन की अनुमति देना
अगला कदम IIS वेब सर्वर सेटिंग्स में रिमोट कनेक्शन की अनुमति देना है। ऐसा करने के लिए, IIS मैनेजर के मैनेजमेंट सेक्शन में मैनेजमेंट सर्विस आइटम खोलें।
मैनेजमेंट सर्विस सेक्शन में "रिमोट कनेक्शन सक्षम करें" विकल्प चेक करें।
यहां आप IP एड्रेस द्वारा IIS मैनेजमेंट कंसोल से कनेक्शन को प्रतिबंधित कर सकते हैं। ऐसा करने के लिए, अनिर्दिष्ट क्लाइंट के लिए कनेक्शन अस्वीकार करें (अनस्पेसिफाइड क्लाइंट के लिए एक्सेस: डिनाई) और उन IP एड्रेस/आईपी सबनेट को निर्दिष्ट करें जिनके लिए कनेक्शन की अनुमति है। रिमोट कनेक्शन सर्विस एक SSL सर्टिफिकेट का उपयोग करती है, लेकिन यदि आपने इसे सर्वर के सर्टिफिकेट स्टोर में इंपोर्ट किया है तो आप दूसरा उपयोग कर सकते हैं (आप PoSh का उपयोग करके सेल्फ-साइन SSL सर्टिफिकेट बना और उपयोग कर सकते हैं)। परिवर्तन सेव करें।
नोट: डिफ़ॉल्ट रूप से, रिमोट IIS मैनेजमेंट के लिए पोर्ट 8172 उपयोग किया जाता है। जब आप परिवर्तन सेव करते हैं, तो यह पोर्ट विंडोज फायरवॉल में स्वचालित रूप से खुल जाएगा।
नोट: आप रजिस्ट्री के माध्यम से कोर मोड में चल रहे रिमोट IIS सर्वर पर इस विकल्प को सक्रिय कर सकते हैं रजिस्ट्री कुंजी HKLM\Software\Microsoft\WebManagement\Server में पैरामीटर EnableRemoteManagement को 1 पर सेट करके। आप कमांड का उपयोग कर सकते हैं:
Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1
इस मामले में आपको फायरवॉल नियम मैन्युअली बनाना होगा:
netsh advfirewall firewall add rule name="Allow IIS Web Management" dir=in action=allow service="WMSVC"
अब आपको बस वेब मैनेजमेंट सर्विस शुरू करनी है:
net start wmsvc
और सर्विस को सिस्टम स्टार्टअप पर स्वचालित रूप से शुरू करने के लिए कॉन्फ़िगर करें:
set-service wmsvc -StartupType Automatic
या इस प्रकार:
sc config WMSVC start= auto
उसके बाद, एक रिमोट IIS वेब सर्वर को IIS मैनेजर कंसोल में जोड़ा जा सकता है और आप IIS सर्वर, उस पर कई साइट्स को उसी तरह मैनेज कर सकते हैं जैसे लोकल वेब सर्वर।
गैर-एडमिन अकाउंट को IIS साइट को रिमोटली मैनेज करने की अनुमति देना
डिफ़ॉल्ट रूप से, केवल एडमिनिस्ट्रेटर विशेषाधिकार वाले उपयोगकर्ताओं के पास IIS सर्वर को रिमोटली मैनेज करने की अनुमति होती है। मानक उपयोगकर्ताओं को IIS रिमोट मैनेजमेंट की अनुमति देने के लिए, प्रत्येक IIS वेबसाइट के स्तर पर संबंधित परमिशन देना आवश्यक है। एक साइट चुनें और IIS मैनेजर परमिशन विकल्प ढूंढें।
एक्शन पैनल में, अलाउ यूजर पर क्लिक करें। उस उपयोगकर्ता अकाउंट का चयन करें जिसे आप IIS तक एक्सेस देना चाहते हैं और OK पर क्लिक करें।
IIS सर्वर पर साइट्स को मैनेज करने के लिए उपयोगकर्ता परमिशन फीचर डेलिगेशन सेक्शन में IIS सर्वर स्तर पर कॉन्फ़िगर की जाती हैं।
आप प्रत्येक IIS सर्वर मैनेजमेंट फंक्शनल के लिए तीन उपयोगकर्ता एक्सेस लेवल में से एक चुन सकते हैं: रीड ओनली, रीड/राइट या नॉट डेलिगेटेड।
विंडोज 10 से IIS सर्वर को रिमोटली कैसे मैनेज करें?
यदि आपको विंडोज 10 (विंडोज 7 या 8.1) चलाने वाले क्लाइंट डेस्कटॉप से IIS सर्वर को रिमोटली मैनेज करने की आवश्यकता है, तो आपको IIS मैनेजमेंट कंसोल इंस्टॉल करना होगा: विंडोज फीचर चालू या बंद करें -> इंटरनेट इंफॉर्मेशन सर्विसेज -> वेब मैनेजमेंट टूल्स -> IIS मैनेजमेंट कंसोल।
आप इस फीचर को पावरशेल कमांड का उपयोग करके इंस्टॉल कर सकते हैं:
Enable-WindowsOptionalFeature -Online -FeatureName "IIS-ManagementService"
हालांकि, जब आप विंडोज 10 में IIS मैनेजर कंसोल चलाते हैं, तो मेनू में कनेक्ट टू ए सर्वर आइटम गायब होता है।
विंडोज 10 से IIS से रिमोटली कनेक्ट करने में सक्षम होने के लिए, आपको पैकेज IIS मैनेजर फॉर रिमोट एडमिनिस्ट्रेशन (https://www.microsoft.com/en-us/download/details.aspx?id=41177) डाउनलोड और इंस्टॉल करना होगा।
टिप: x64 (inetmgr_amd64_en-US.msi) और x86 OS (inetmgr_x86_en-US.msi) के लिए IIS मैनेजर का एक संस्करण है।
इंस्टॉलेशन के बाद, आपको IIS मैनेजर को पुनः आरंभ करना होगा और साइट से कनेक्ट करना होगा। यदि IIS से कनेक्ट करते समय, यह पता चलता है कि क्लाइंट और सर्वर पर कंसोल संस्करण अलग है, तो एक सूचना दिखाई देगी: यह कहता है कि आपको कंसोल संस्करण अपडेट करने की आवश्यकता है (सभी आवश्यक फाइलें सर्वर से स्वचालित रूप से डाउनलोड हो जाएंगी)।
अब आपको अपने IIS सर्वर से सफलतापूर्वक कनेक्ट होना चाहिए और इसे अपने डेस्क से रिमोटली मैनेज करना चाहिए।
IIS रिमोट मैनेजमेंट और TLS 1.1 / TLS 1.2 सपोर्ट
यदि आपने IIS पर असुरक्षित SSLv3 और TLS 1.0 प्रोटोकॉल अक्षम कर दिए हैं और केवल TLS 1.1/ TLS 1.2 छोड़ दिया है, तो IIS से रिमोटली कनेक्ट करते समय एक त्रुटि दिखाई देगी:
The underlying connection was closed: An unexpected error occurred on a send.
समस्या को ठीक करने के लिए क्लाइंट साइड पर रजिस्ट्री में परिवर्तन करना आवश्यक है, कनेक्शन के दौरान TLS 1.2 प्रोटोकॉल के अनिवार्य उपयोग के लिए। सेटिंग्स विंडोज संस्करण पर निर्भर करती हैं।
विंडोज 10 और विंडोज सर्वर 2016:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
विंडोज 2012/R2 और विंडोज 8/8.1:
.NET फ्रेमवर्क 4.5.2 या उच्चतर इंस्टॉल होना चाहिए (कैसे जांचें कि .NET फ्रेमवर्क के कौन से संस्करण इंस्टॉल हैं)।
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319]
"SchUseStrongCrypto"=dword:00000001
विंडोज सर्वर 2008 R2 / विंडोज 7:
आपको पहले .NET फ्रेमवर्क 3.5.1 में TLS 1.2 सपोर्ट के लिए अपडेट KB3154518 इंस्टॉल करना होगा।
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]
"SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client]
"DisabledByDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]
"DisabledByDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
"DisabledByDefault"=dword:00000000