Windows 2016 / 2012 / R2-এ 웹-সার্ভার Internet Information Service, পূর্বের IIS ভার্সনগুলোর মতই রিমোটলি ম্যানেজ করা যায়। একাধিক IIS সার্ভার একক কনসোল থেকে ম্যানেজ করা খুব সুবিধাজনক, এবং Core / Nano মোডে চলমান ওয়েব সার্ভার ম্যানেজ করার এটি প্রায় একমাত্র পথ। কিন্তু ডিফল্টভাবে রিমোট IIS ম্যানেজমেন্ট ডিজেবল থাকে, এবং যদি অন্য সার্ভারে চলমান IIS-কে IIS Management Console-এ (Connect to a Server মেনু) যোগ করতে চান, তবে এই এরর আসে: "Could not connect to the specified computer. Details: Unable to connect to the remote server"
IIS Management Service ইনস্টল করুন
স্ট্যান্ডার্ড IIS ইনস্টলেশনের সময় রিমোট ম্যানেজমেন্টের জন্য দায়বদ্ধ সার্ভিস (IIS Management Service) ইনস্টল হয় না। PowerShell কমান্ড দিয়ে নিশ্চিত করুন:
Get-WindowsFeature *web-mgmt*
দেখতে পাবেন Web-Mgmt-Service সার্ভিস ইনস্টলড নয়। লোকাল অ্যাডমিন পারমিশনে এই কমান্ড দিয়ে ইনস্টল করুন:
Add-WindowsFeature Web-Mgmt-Service
অথবা: Install-WindowsFeature Web-Mgmt-Service
Server Manager কনসোল থেকে Management Service কম্পোনেন্টও ইনস্টল করা যায়। এরপর IIS ওয়েব সার্ভিস রিস্টার্ট করুন: iisreset –noforce
পরবর্তী ধাপ: IIS ওয়েব সার্ভার সেটিংসে রিমোট কানেকশন অনুমতি দিন। IIS Manager-এ Management সেকশনের Management Service আইটেম খুলুন। Enable remote connections অপশন চেক করুন। এখানে IP ঠিকানা দিয়ে IIS Management Console-এ কানেকশন সীমাবদ্ধ করা যায় (Access for unspecified clients: Deny সেট করে অনুমোদিত IP/সাবনেট স্পেসিফাই করুন)। রিমোট কানেকশন সার্ভিস SSL সার্টিফিকেট ব্যবহার করে, তবে ইম্পোর্ট করা অন্য সার্টিফিকেটও ব্যবহার করা যায় (PowerShell দিয়ে সেলফ-সাইনড SSL সার্টিফিকেট তৈরি ও ব্যবহার করা যায়)। পরিবর্তন সেভ করুন।
নোট: ডিফল্টভাবে রিমোট IIS ম্যানেজমেন্টের জন্য পোর্ট 8172 ব্যবহার হয়। পরিবর্তন সেভ করলে Windows Firewall-এ এই পোর্ট অটোমেটিক্যালি খুলে দেওয়া হয়।
নোট: Core মোডে চলমান রিমোট IIS সার্ভারে রেজিস্ট্রি দিয়ে এই অপশন এক্টিভেট করা যায়: HKLM\Software\Microsoft\WebManagement\Server কীতে EnableRemoteManagement প্যারামিটার ১ সেট করুন। কমান্ড: 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”
এখন Web Management Service শুরু করুন: net start wmsvc এবং সিস্টেম স্টার্টআপে অটোমেটিক শুরু হওয়ার জন্য কনফিগার করুন: set-service wmsvc -StartupType Automatic অথবা sc config WMSVC start= auto।
এবার রিমোট IIS ওয়েব সার্ভার IIS Manager কনসোলে যোগ করা যাবে এবং লোকাল ওয়েব সার্ভারের মতো একইভাবে ম্যানেজ করা যাবে।
নন-অ্যাডমিন অ্যাকাউন্টকে IIS সাইট রিমোট ম্যানেজ করার অনুমতি দিন
ডিফল্টভাবে শুধু অ্যাডমিনিস্ট্রেটর প্রিভিলেজ যাবতীয় ইউজার রিমোটলি IIS সার্ভার ম্যানেজ করতে পারে। স্ট্যান্ডার্ড ইউজারকে IIS রিমোট ম্যানেজমেন্টের পারমিশন দিতে হলে প্রতিটি IIS ওয়েবসাইট লেভেলে পারমিশন দিতে হবে। একটি সাইট সিলেক্ট করে IIS Manager Permissions অপশন খুঁজুন। Actions প্যানেলে Allow User ক্লিক করুন। যে ইউজার অ্যাকাউন্টকে IIS অ্যাক্সেস দিতে চান সেটি সিলেক্ট করুন OK ক্লিক করুন।
IIS সার্ভার লেভেলে ইউজার পারমিশন Feature Delegation সেকশনে কনফিগার করা হয়। IIS সার্ভার ম্যানেজমেন্টের প্রতিটি ফাংশনালিটির জন্য তিনটি অ্যাক্সেস লেভেল থেকে একটি সিলেক্ট করা যায়: Read Only, Read/Write বা Not Delegated।
Windows 10 থেকে IIS সার্ভার রিমোট ম্যানেজ কীভাবে করবেন
Windows 10 (Windows 7 বা 8.1) ক্লায়েন্ট ডেস্কটপ থেকে IIS সার্ভার রিমোট ম্যানেজ করতে IIS Management Console ইনস্টল করতে হবে: Turn Windows features on or off → Internet Information Services → Web Management Tools → IIS Management Console। PowerShell-এ: Enable-WindowsOptionalFeature -Online -FeatureName "IIS-ManagementService"
যদি Windows 10-এ IIS Manager কনসোল চালান, তবে মেনুতে Connect to a server আইটেম থাকে না। Windows 10 থেকে IIS-এ রিমোট কানেক্ট করতে IIS Manager for Remote Administration প্যাকেজ ডাউনলোড ও ইনস্টল করতে হবে (https://www.microsoft.com/en-us/download/details.aspx?id=41177)। টিপ: x64 (inetmgr_amd64_en-US.msi) এবং x86 (inetmgr_x86_en-US.msi) ভার্সন আলাদা।
ইনস্টলেশনের পর IIS Manager রিস্টার্ট করে সাইটে কানেক্ট করুন। যদি ক্লায়েন্ট এবং সার্ভারে কনসোল ভার্সন ভিন্ন থাকে, তবে নোটিফিকেশন আসবে যে কনসোল ভার্সন আপডেট করতে হবে (প্রয়োজনীয় ফাইলগুলো সার্ভার থেকে অটোমেটিক্যালি ডাউনলোড হয়)। এবার আপনি সফলভাবে আপনার IIS সার্ভারে কানেক্ট করে আপনার ডেস্ক থেকে রিমোট ম্যানেজ করতে পারবেন।
IIS রিমোট ম্যানেজমেন্ট এবং TLS 1.1 / TLS 1.2 সাপোর্ট
আপনি যদি IIS-এ অনসিকিউর SSLv3 এবং TLS 1.0 প্রোটোকল ডিজেবল করে শুধু TLS 1.1/ TLS 1.2 রেখে দেন, তবে রিমোট কানেক্ট করার সময় এই এরর আসবে: "The underlying connection was closed: An unexpected error occurred on a send." সমাধান: ক্লায়েন্ট সাইডে রেজিস্ট্রি পরিবর্তন করে TLS 1.2 বাধ্যতামূলক করুন কানেকশনের সময়। সেটিংস Windows ভার্সন অনুযায়ী ভিন্ন:
Windows 10 এবং Windows Server 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
Windows 2012/ R2 এবং Windows 8/8.1:
.NET Framework 4.5.2 বা উচ্চতর ইনস্টলড থাকতে হবে। রেজিস্ট্রি সেটিংস Windows 10/2016-এর মতোই।
Windows Server 2008 R2 / Windows 7:
প্রথমে KB3154518 আপডেট ইনস্টল করুন .NET Framework 3.5.1-এ TLS 1.2 সাপোর্টের জন্য। তারপর এই রেজিস্ট্রি কীগুলো সেট করুন (TLS 1.1 এবং 1.2 ক্লায়েন্ট ও সার্ভার জন্য DisabledByDefault=0)।