আপনি যখন Windows এ ইন্টারনেট ইনফরমেশন সার্ভিস (IIS) ইনস্টল করেন, তখন একটি খালি “ডিফল্ট ওয়েব সাইট ” ডিফল্টরূপে তৈরি করা হয় এবং স্ট্যান্ডার্ড ওয়েব HTTP পোর্টে শোনে – TCP 80 . IIS পদে, এর মানে হল এই সাইটটি TCP/80 পোর্টের সাথে আবদ্ধ। এই সাইটটি খুলতে, শুধু IIS সার্ভারের নাম লিখুন (“https://web-srv1”
) অথবা এর IP ঠিকানা (“https://192.168.1.100”
) আপনার ব্রাউজারে। একটি একক IIS ওয়েব সার্ভার ডজন ডজন এবং শত শত ওয়েবসাইট পরিবেশন করতে পারে এবং আপনি একই TCP পোর্টে (80, 443, বা যাই হোক না কেন) শুনতে এবং প্রতিক্রিয়া জানাতে, এতে একাধিক ওয়েব সাইট চালাতে পারেন। যাইহোক, আইআইএস ম্যানেজারের ইন্টারফেস এটি স্পষ্ট করে না যে আপনি অন্য কোনও পোর্টের সাথে আবদ্ধ না করে অন্য ওয়েবসাইট হোস্ট করতে পারেন (যেমন, 8080)। এই নিবন্ধে আমরা দেখাব কিভাবে একই IIS সার্ভারে একাধিক ওয়েবসাইট হোস্ট করা যায় এবং একই পোর্ট এবং IP ঠিকানায় বা বিভিন্ন IP ঠিকানায় আবদ্ধ করা যায়।
বিষয়বস্তু:
- IIS ওয়েব সাইট বাইন্ডিং
- হোস্ট হেডার ব্যবহার করে IIS-এ একাধিক ওয়েবসাইট হোস্ট করা
- IIS-এ বিভিন্ন IP ঠিকানা সহ একাধিক সাইট চালান
- PowerShell ব্যবহার করে IIS সাইট বাইন্ডিং পরিচালনা করা
IIS ওয়েব সাইট বাইন্ডিং
উইন্ডোজ সার্ভারে চলমান একটি একক ওয়েব IIS সার্ভার একাধিক ওয়েবসাইট হোস্ট করতে পারে। যাইহোক, IIS সঠিকভাবে HTTP অনুরোধগুলি বিতরণ করার জন্য, প্রতিটি ওয়েবসাইটকে কিছু অনন্য মান দিয়ে চিহ্নিত করতে হবে। একটি IIS ওয়েবসাইটের ক্ষেত্রে, এটি তিনটি বৈশিষ্ট্য নিয়ে গঠিত যা প্রতিটি ওয়েবসাইটের জন্য একটি অনন্য সমন্বয় তৈরি করে। এগুলো হল:
- একটি TCP পোর্ট নম্বর
- একটি আইপি ঠিকানা
- একটি হোস্ট হেডার (হোস্টের নাম)
হোস্ট করা ওয়েবসাইটগুলির তথ্য সার্ভারবিন্ডিংস-এ সংরক্ষণ করা হয় নিম্নলিখিত বিন্যাসে IIS মেটাবেসের বৈশিষ্ট্য:IP:Port:Hostname
. সুতরাং, আপনি যদি একই পোর্ট এবং আইপি ঠিকানায় একাধিক ওয়েবসাইট হোস্ট করতে চান তবে আপনাকে একটি অনন্যহোস্ট শিরোনাম ব্যবহার করতে হবে . এটা কি? হোস্ট হেডার হল একটি ক্লায়েন্ট কর্তৃক প্রেরিত সার্ভারে HTTP অনুরোধের একটি অংশ যা নির্দিষ্ট করে যে এটি কোন ওয়েবসাইটে সম্বোধন করা হয়েছে। তদনুসারে, এই হোস্ট হেডারটি অবশ্যই ওয়েব সার্ভারের পাশে নির্দিষ্ট করতে হবে, এবং DNS-এ সঠিক রেকর্ড রয়েছে যা হোস্টনাম এবং IIS ওয়েব সার্ভারের IP ঠিকানার সাথে মেলে৷
ধরা যাক যে আপনার একটি ওয়েবসাইট IIS এ চলছে এবং 80টি পোর্ট শুনছে। এবং আপনাকে একই পোর্টে দ্বিতীয় ওয়েবসাইটটি আবদ্ধ করতে হবে।
IIS ম্যানেজারে, অন্য ওয়েবসাইট তৈরি করুন (ওয়েবসাইট যোগ করুন ) TestSite নামের সাথে, কোন ফাইলগুলি c:\inetpub\TestSite-এ অবস্থিত হবে (এখনও হোস্টনামটি নির্দিষ্ট করবেন না)।
আপনি ঠিক আছে ক্লিক করার পরে, একটি সতর্কতা প্রদর্শিত হবে যে আপনি বাঁধাই ব্যবহার করতে পারবেন না *:8 0 উভয় সাইটের জন্য।
ওয়েবসাইট যোগ করুন বাইন্ডিং '*:80:' অন্য সাইটে বরাদ্দ করা হয়েছে। আপনি যদি এই সাইটে একই বাইন্ডিং বরাদ্দ করেন, আপনি শুধুমাত্র একটি সাইট শুরু করতে সক্ষম হবেন৷ আপনি কি নিশ্চিত যে আপনি এই ডুপ্লিকেট বাইন্ডিং যোগ করতে চান?
এই সতর্কতা মেনে চলুন। তাই আপনি পোর্ট 80 এর সাথে আবদ্ধ আরেকটি সাইট পেয়েছেন, আপনি প্রথম সাইটটি বন্ধ না করে এটি শুরু করতে পারবেন না।
হোস্ট হেডার ব্যবহার করে IIS-এ একাধিক ওয়েবসাইট হোস্ট করা
একটি অনন্য বাইন্ডিং তৈরি করতে, দ্বিতীয় আইআইএস ওয়েবসাইটের জন্য অন্য একটি নাম (হোস্ট নেম) উল্লেখ করুন। TestSite রাইট-ক্লিক করুন এবং সম্পাদনা নির্বাচন করুন বাইন্ডিং . আপনার প্রয়োজনীয় বাইন্ডিং নির্বাচন করুন এবং সম্পাদনা করুন ক্লিক করুন৷ .
ব্যবহারকারীরা যে অনন্য হোস্ট নামটিকে সম্বোধন করবে তা নির্দিষ্ট করুন, যেমন টেস্টসাইট, হোস্টে নাম ক্ষেত্র।
আপনি কমান্ড প্রম্পট ব্যবহার করে IIS সাইট বাইন্ডিং কনফিগার করতে পারেন। এই ক্ষেত্রে, IIS 7 বা তার চেয়ে নতুনের জন্য বাইন্ডিং কনফিগার করার কমান্ডটি এইরকম দেখায়:
C:\Windows\System32\inetsrv\appcmd.exe set site /site.name:testsite /+bindings.[protocol='http',bindingInformation='*:80:testsite']
এখন আপনি দ্বিতীয় ওয়েবসাইটটিও শুরু করতে পারেন।
আপনাকে যা করতে হবে তা হল আইপি ঠিকানা বা আপনার IIS ওয়েব সার্ভারের হোস্টনাম নির্দেশ করতে সার্ভারের (A বা CNAME) জন্য একটি DNS উপনাম যোগ করতে হবে৷ আপনি যদি একটি অ্যাক্টিভ ডিরেক্টরি ডোমেন ব্যবহার করেন, তাহলে আপনাকে ডোমেন কন্ট্রোলারে DNS রেকর্ড তৈরি করতে হবে।
আপনি একটি CNAME তৈরি করতে পারেন৷ DNS কনসোলে নাম টেস্টসাইটের জন্য রেকর্ড করুন (dnsmgmt.msc
) এবং FQDN টার্গেট হোস্ট হিসাবে আপনার IIS সার্ভারের ডোমেন নাম নির্দিষ্ট করুন৷
এই DNS রেকর্ডটি PowerShell ব্যবহার করেও তৈরি করা যেতে পারে:
Add-DnsServerResourceRecordCName -HostNameAlias web-srv1.woshub.com -Name testsite -ZoneName woshub.com
https://TestSite
খোলার চেষ্টা করুন আপনার ব্রাউজারে। এটি সফলভাবে খোলা উচিত।
এখানে উল্লেখ করার মতো কিছু দরকারী নোট রয়েছে।
আপনি যদি একটি স্বতন্ত্র IIS সার্ভার ব্যবহার করেন, সার্ভারের IP ঠিকানায় সাইটের নামের ম্যাপিং ফাইল C:\Windows\system32\drivers\etc\hosts
এর মাধ্যমে করা হয়
বাইন্ড সেটিংস আইআইএস কনফিগারেশন ফাইল <সাইটস> বিভাগে আইআইএস কনফিগারেশন ফাইল C:\Windows\System32\inetsrv\config\applicationHost.config
এ সংরক্ষণ করা হয় .
আমাদের ক্ষেত্রে, এই বিভাগে নিম্নলিখিত ডেটা রয়েছে:
<অ্যাপ্লিকেশন path="/" applicationPool="TestSite">
একইভাবে, আপনি আপনার IIS ওয়েব সার্ভারের একই পোর্টে কয়েকশ সাইট হোস্ট এবং চালাতে পারেন।
IIS-এ বিভিন্ন IP ঠিকানা সহ একাধিক সাইট চালান
এখন বিভিন্ন আইপি ঠিকানায় IIS ওয়েব সার্ভারে দুটি সাইট চালানোর চেষ্টা করা যাক। প্রথমত, আপনাকে উইন্ডোজ সার্ভারে একটি পৃথক VLAN ইন্টারফেস যোগ করতে হবে বা আপনার NIC-তে একটি অতিরিক্ত IP ঠিকানা (উনাম) বরাদ্দ করতে হবে।
এই উদাহরণে, সার্ভারের প্রধান আইপি ঠিকানা রয়েছে 192.168.13.100, এবং আমি একই নেটওয়ার্ক অ্যাডাপ্টারে একটি অতিরিক্ত আইপি ওরফে 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
এটি সাইট বাইন্ডিং সেটিংস খুলতে এবং আপনার হোস্টের অতিরিক্ত আইপি ঠিকানার সাথে সাইটটিকে আবদ্ধ করতে বাকি থাকে৷
PowerShell ব্যবহার করে IIS সাইট বাইন্ডিং পরিচালনা করা
আপনি PowerShell ব্যবহার করে একটি IIS সার্ভারে সাইটগুলির বাঁধাই পরিচালনা করতে পারেন। এর জন্য, ওয়েব অ্যাডমিনিস্ট্রেশন মডিউল ব্যবহার করা হয়:
Import-Module WebAdministration
সমস্ত উপলব্ধ IIS সাইট এবং তাদের বাঁধাই সম্পর্কে তথ্য প্রদর্শন করুন:
Get-IISSite
অথবা একটি একক সাইট সম্পর্কে:
(Get-Website -Name NewSite).bindings.Collection
প্রোটোকল বাইন্ডিং ইনফরমেশন sslFlags----------------------------------http 192.168.13.101:80:NewSite3 0প্রে>এই সাইটের বাঁধাই পরিবর্তন করতে (আপনি আইপি ঠিকানা, পোর্ট বা নাম পরিবর্তন করতে পারেন):
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 ঠিকানা এবং TCP পোর্ট নম্বর উভয়েই বেশ কয়েকটি সাইট চালাতে পারেন৷