Множество IIS уебсайтове на един и същи порт и IP

По подразбиране се създава празен уеб сайт по време на инсталирането на сървъра за интернет информационни услуги (IIS). "По подразбиране мрежа място”Кой отговаря на стандартен уеб порт - TCP 80. По отношение на IIS това означава, че този сайт (Binding) е свързан към порт 80. За да отворите този сайт, просто въведете името на IIS сървъра (“http: // web-srv1”) или неговия IP адрес (“http: / /10.10.0.88 ”). Един уеб сървър на IIS може да обслужва десетки и стотици сайтове, а технически е възможно да стартирате няколко уебсайта, които слушат и отговарят на един и същи порт (80 или 443). От интерфейса на IIS Manager обаче изобщо не е очевидно, че можете да стартирате втори сайт на същия хост, без да го свързвате с друг порт (например 8080). В тази статия ще разберем как да стартирате няколко сайта на един и същ IIS сървър, така че те да бъдат обвързани към един и същи порт и IP адрес.

Така че, както казахме по-рано, много сайтове могат да бъдат стартирани на един IIS сървър, но за да може IIS правилно да разпределя HTTP заявки, всеки сайт трябва да бъде идентифициран с някаква уникална стойност. За уебсайт на IIS той е съставен от три атрибута, комбинацията от които за всеки сайт трябва да е уникална. Това е:

  • Номер на TCP порт
  • IP адрес
  • име на хост

Информацията за работещите сайтове се съхранява в атрибута ServerBindings на метабазата IIS във формат IP: Порт: Име на хост. По този начин, ако трябва да стартирате няколко сайта на един и същи порт и IP адрес, трябва да използвате уникално заглавие на хоста. Какво е това? Заглавката на хоста е част от HTTP заявката до сървъра, който клиентът изпраща, като посочва кой конкретен сайт иска да получи достъп. Съответно тази заглавна част на хоста трябва да бъде посочена отстрани на уеб сървъра, а DNS записът трябва да съдържа правилния запис, който съответства на името на хоста и ip адреса на уеб сървъра.

Да предположим, че вече имаме един уебсайт на порт 80 на IIS. Трябва да добавим втори сайт на същия порт..

В конзолата за управление на IIS създайте втори сайт (Добави уебсайт). С име TestSite , чиито файлове ще се съхраняват в директорията c: \ inetpub \TestSite (името на хоста все още не е посочено).

След като щракнете върху „OK“, ще се появи предупреждение, че не можете да използвате обвързването *: 80 за два сайта, т.е. само един от тях може да работи наведнъж.

Ние сме съгласни с това предупреждение. Така че, имаме втори сайт, също свързан към порт 80, но не можете да го стартирате без да спрете първия сайт.

За да създадете уникално обвързване, посочете различно име за втория сайт (Име на хоста). Кликнете върху RMB на сайта TestSite и изберете елемент от менюто редактирам подвързии. Изберете желаното обвързване и щракнете редактирам.

На полето домакин име посочете уникално име на хост, до което потребителите трябва да имат достъп, например TestSite.

Можете също да конфигурирате свързване от командния ред. В този пример за IIS 7 и по-нови версии командата за настройка на обвързването ще изглежда така:

C: \ Windows \ System32 \ inetsrv \ appcmd.exe зададете сайт /site.name:"TestSite "/+bindings.►protocol='http',bindingInformation='*:80:TestSite ']

Сега можете да стартирате втория уебсайт.

Остава само да добавите псевдоним на сървъра в DNS (запис A или CNAME), указващ IP адреса на уеб сървъра или неговото име.

създавам CNAME запис за името TestSite може да се извърши с помощта на конзолата DNS (dnsmgmt.msc), посочете името на домейна на вашия IIS сървър като FQDN на целевия хост.

Можете също да създадете такъв запис с помощта на PowerShell:

Add-DnsServerResourceRecordCName -HostNameAlias ​​web-srv1.contoso.loc -Именна тестова страница -ZoneName contoso.loc

Сега в браузъра, опитайте се да отворите сайта http: // TestSite. Трябва да се отвори успешно.

Някои други полезни точки, които си заслужава да бъдат споменати.

Ако използвате локален IIS сървър, картографирането на имена на сайтове към IP адреса на сървъра се извършва чрез файл C: \ Windows \ system32 \ драйвери \ и т.н. \ хостове.

Настройките за обвързване се съхраняват във конфигурационния файл IIS (C: \ Windows \ System32 \ inetsrv \ config \ applicationHost.config) в раздел         

В нашия пример този раздел съдържа следните данни:
























По аналогия можете да хоствате и стартирате няколкостотин сайта на един и същи порт на уеб сървъра на IIS.