IIS на Windows VPS: установка роли, привязки сайта, HTTPS и первичная диагностика

13.08.26
IIS на Windows VPS

Internet Information Services, или IIS, — штатный веб-сервер Windows Server. Его используют для размещения сайтов и API на ASP.NET, публикации корпоративных веб-приложений, работы служб на базе .NET Framework и организации веб-доступа к информационным системам.

Установка роли занимает несколько минут, но после нее сайт не становится доступным автоматически. Администратору необходимо создать каталог, назначить права, настроить привязку домена, открыть сетевые порты, добавить SSL-сертификат и проверить, какой пул приложений обслуживает сайт.

Большинство проблем IIS связано не с самой ролью веб-сервера, а со связкой нескольких компонентов. Домен может указывать не на тот IP-адрес, firewall может блокировать порт, сертификат — не соответствовать имени сайта, а учетная запись пула приложений — не иметь доступа к каталогу.

Поэтому настройку лучше выполнять последовательно: сначала установить минимально необходимый набор компонентов, проверить сайт по HTTP, затем настроить домен и только после этого включать HTTPS. Такой порядок позволяет быстрее определить, на каком уровне возникла ошибка.

Как устроен сайт на IIS

IIS принимает HTTP- и HTTPS-запросы, определяет сайт по IP-адресу, порту и имени узла, после чего передает запрос приложению или возвращает статический файл.

Упрощенная схема выглядит так:


                  Пользователь
                       │
                       ▼
               Доменное имя сайта
                       │
                       ▼
                    DNS
                       │
                       ▼
             Публичный IP Windows VPS
                       │
             ┌─────────┴─────────┐
             ▼                   ▼
          TCP 80               TCP 443
           HTTP                 HTTPS
             │                   │
             └─────────┬─────────┘
                       ▼
                 Привязка IIS
                       │
                       ▼
                 Веб-сайт IIS
                       │
             ┌─────────┴─────────┐
             ▼                   ▼
       Статические файлы     Пул приложений
                                   │
                                   ▼
                             ASP.NET / API
Как читать схему: браузер сначала получает IP-адрес сайта через DNS, затем подключается к порту 80 или 443. IIS выбирает нужный сайт по его привязке и либо возвращает файл из каталога, либо передает запрос приложению через пул приложений.

Основные компоненты IIS

КомпонентНазначениеТипичная ошибка
Веб-сайтОбъединяет каталог, привязки и параметры приложенияЗапрос попадает в другой сайт
Физический путьУказывает каталог с файлами сайтаIIS не имеет прав на чтение
ПривязкаОпределяет протокол, IP, порт и имя узлаКонфликт с другим сайтом
Пул приложенийИзолирует и запускает веб-приложениеПул остановлен или аварийно завершается
СертификатПодтверждает домен и защищает HTTPS-соединениеСертификат выдан на другое имя
Модули и обработчикиОпределяют обработку ASP.NET, файлов и других запросовНе установлен необходимый компонент роли
Журналы IISФиксируют запросы и HTTP-статусыДиагностика ведется без анализа substatus

Что такое привязка сайта

Привязка, или binding, включает несколько параметров:

  • протокол — HTTP или HTTPS;
  • IP-адрес;
  • TCP-порт;
  • имя узла;
  • SSL-сертификат для HTTPS;
  • использование SNI, если на одном IP размещены несколько HTTPS-сайтов.

Например, сайт может иметь две привязки:

http  | * | 80  | example.ru
https | * | 443 | example.ru | SNI | SSL-сертификат example.ru

Имя узла позволяет IIS отличать несколько сайтов, использующих один IP-адрес и один порт. Для нескольких HTTPS-сайтов на одном IP обычно применяется SNI — имя домена передается во время TLS-согласования и позволяет выбрать подходящий сертификат. :contentReference[oaicite:1]{index=1}

Подготовка Windows VPS к установке IIS

До установки роли нужно проверить операционную систему, DNS, сетевые правила и состав будущего приложения. Набор компонентов для статического сайта и ASP.NET-приложения отличается.

Что должно быть известно заранее

  • версия Windows Server;
  • публичный IP-адрес VPS;
  • доменное имя сайта;
  • каталог размещения файлов;
  • тип приложения;
  • используемая версия .NET;
  • необходимость Windows Authentication;
  • наличие базы данных;
  • порты, которые должны быть доступны извне;
  • способ получения и продления SSL-сертификата.

Не следует устанавливать все компоненты IIS «на всякий случай». Чем больше модулей включено, тем сложнее сопровождение и больше поверхность атаки.

Проверка IP-адреса и DNS

До создания сайта доменная A-запись должна указывать на публичный IPv4-адрес VPS. Для IPv6 используется AAAA-запись.

Проверка в PowerShell:

PowerShell
Resolve-DnsName example.ru

Можно также проверить внешний адрес сервера:

PowerShell
Get-NetIPAddress -AddressFamily IPv4 |
    Where-Object {
        $_.IPAddress -notlike "169.254.*" -and
        $_.IPAddress -ne "127.0.0.1"
    }

На VPS за NAT локальный адрес сетевого интерфейса может отличаться от публичного IP. В таком случае значение нужно сверять с панелью провайдера.

Проверка занятых портов

До установки полезно убедиться, что порты 80 и 443 не используются другим веб-сервером или приложением:

PowerShell
Get-NetTCPConnection -State Listen |
    Where-Object {
        $_.LocalPort -in 80,443
    } |
    Select-Object LocalAddress, LocalPort, OwningProcess

Определить процесс по идентификатору:

PowerShell
Get-Process -Id 1234

После запуска IIS порт может обслуживаться системным процессом через HTTP.sys. Само наличие процесса с именем System в этом случае не означает ошибку.

Типичная ошибка: устанавливать IIS поверх уже работающего веб-сервера, не проверив порты. После установки один из сервисов не сможет запуститься или запросы продолжат попадать в прежнее приложение.

Как установить роль IIS

Роль можно добавить через «Диспетчер серверов» или PowerShell. Для повторяемой настройки и фиксации состава компонентов удобнее использовать PowerShell.

Установка базового веб-сервера

Проверить состояние роли:

PowerShell
Get-WindowsFeature Web-Server

Установить IIS вместе с консолью управления:

PowerShell
Install-WindowsFeature Web-Server -IncludeManagementTools

После установки проверить службу:

PowerShell
Get-Service W3SVC

И состояние роли:

PowerShell
Get-WindowsFeature Web-Server

Если открыть в браузере адрес сервера по HTTP, должна появиться стандартная страница IIS. Однако оставлять ее в рабочей среде необязательно: после проверки лучше создать отдельный сайт и остановить неиспользуемый Default Web Site.

Компоненты для статического сайта

Для выдачи HTML, CSS, JavaScript и изображений достаточно минимального набора:

  • Web Server;
  • Common HTTP Features;
  • Static Content;
  • Default Document;
  • HTTP Errors;
  • Request Filtering;
  • HTTP Logging;
  • IIS Management Console.

Проверить установленные компоненты:

PowerShell
Get-WindowsFeature Web-* |
    Where-Object Installed |
    Select-Object Name, DisplayName

Компоненты для ASP.NET

Состав зависит от того, используется классический ASP.NET на .NET Framework или ASP.NET Core.

Для приложений на .NET Framework могут потребоваться:

  • ASP.NET 4.x;
  • .NET Extensibility;
  • ISAPI Extensions;
  • ISAPI Filters;
  • WebSocket Protocol — только если его использует приложение;
  • Windows Authentication — только при соответствующем сценарии.

Пример установки компонентов ASP.NET 4.x:

PowerShell
Install-WindowsFeature `
    Web-Server, `
    Web-Asp-Net45, `
    Web-Net-Ext45, `
    Web-ISAPI-Ext, `
    Web-ISAPI-Filter, `
    Web-Http-Logging, `
    Web-Mgmt-Console

Для ASP.NET Core одной роли IIS недостаточно. На сервер устанавливается подходящий Hosting Bundle, который добавляет модуль ASP.NET Core Module. Версию Hosting Bundle нужно выбирать по документации и версии конкретного приложения.

Важно: сначала определите технологию приложения. Установка ASP.NET 4.x не обеспечивает запуск ASP.NET Core, а установка Hosting Bundle не исправит приложение, собранное под отсутствующую версию .NET Framework.

Проверка конфигурации IIS

Конфигурация IIS хранится в системных файлах, включая applicationHost.config. До значительных изменений желательно создать резервную копию средствами AppCmd:

Командная строка Windows
%windir%\system32\inetsrv\appcmd add backup BeforeSiteSetup

Посмотреть список резервных копий:

Командная строка Windows
%windir%\system32\inetsrv\appcmd list backup

Такая копия сохраняет конфигурацию IIS, но не файлы сайта, сертификаты, базы данных и остальные компоненты сервера.

Как создать сайт и настроить привязку

Для рабочего проекта лучше создать отдельный каталог и отдельный сайт, а не размещать приложение непосредственно в стандартном каталоге Default Web Site.

Создание каталога

Пример:

PowerShell
New-Item -ItemType Directory -Path "D:\Sites\example.ru" -Force

Создадим тестовую страницу:

@'
<!doctype html>
<html lang="ru">
<head>
    <meta charset="utf-8">
    <title>IIS работает</title>
</head>
<body>
    <h1>Сайт работает через IIS</h1>
</body>
</html>
'@ | Set-Content "D:\Sites\example.ru\index.html" -Encoding UTF8

Права на каталог

Для статического сайта обычно требуется право чтения учетной записи, под которой IIS получает доступ к файлам. Не следует выдавать группе Everyone полный доступ.

Пример предоставления чтения группе IIS:

Командная строка Windows
icacls "D:\Sites\example.ru" /grant "IIS_IUSRS:(OI)(CI)RX" /T

Для приложения, которому требуется запись в конкретный каталог, лучше предоставить изменение только на эту папку, а не на весь сайт.

Например:

PowerShell
New-Item -ItemType Directory -Path "D:\Sites\example.ru\App_Data" -Force

icacls "D:\Sites\example.ru\App_Data" `
    /grant "IIS AppPool\ExamplePool:(OI)(CI)M" /T

Имя виртуальной учетной записи должно соответствовать фактическому имени пула приложений.

Создание пула приложений

Загрузить модуль IIS:

PowerShell
Import-Module WebAdministration

Создать пул:

PowerShell
New-WebAppPool -Name "ExamplePool"

Для статического сайта или приложения, самостоятельно запускающего .NET, можно использовать режим без управляемого CLR:

PowerShell
Set-ItemProperty `
    "IIS:\AppPools\ExamplePool" `
    -Name managedRuntimeVersion `
    -Value ""

Для классического ASP.NET на .NET Framework значение зависит от требований приложения. Менять его без документации разработчика не следует.

Создание сайта

Пример создания HTTP-сайта:

PowerShell
New-Website `
    -Name "example.ru" `
    -PhysicalPath "D:\Sites\example.ru" `
    -Port 80 `
    -HostHeader "example.ru" `
    -ApplicationPool "ExamplePool"

Добавить вариант с www:

PowerShell
New-WebBinding `
    -Name "example.ru" `
    -Protocol http `
    -Port 80 `
    -HostHeader "www.example.ru"

Проверить сайты:

PowerShell
Get-Website |
    Select-Object Name, State, PhysicalPath, Bindings

Проверка сайта до изменения DNS

Если DNS еще не обновился, запрос можно отправить на IP, явно указав заголовок Host:

PowerShell
Invoke-WebRequest `
    -Uri "http://203.0.113.10/" `
    -Headers @{
        Host = "example.ru"
    } `
    -UseBasicParsing

Также можно временно добавить домен в файл hosts на тестовом компьютере. После завершения проверки временную запись нужно удалить.

💡 Совет администратора: сначала добейтесь корректного ответа сайта по HTTP с правильным заголовком Host. Только после этого переходите к сертификату и HTTPS — так проще отделить ошибку приложения от ошибки TLS.

Как настроить HTTPS и SSL-сертификат

Для рабочего сайта HTTPS должен использовать сертификат, выданный доверенным центром сертификации на фактическое доменное имя. Самоподписанный сертификат подходит для отдельных тестовых сценариев, но браузеры пользователей не будут доверять ему автоматически.

Что проверить перед выпуском сертификата

  • домен зарегистрирован и управляется организацией;
  • DNS указывает на нужный сервер либо доступен другой способ подтверждения домена;
  • в сертификат включены все необходимые имена;
  • определено, нужен ли вариант с www;
  • для нескольких поддоменов выбран SAN- или wildcard-сертификат, если это оправдано;
  • известен порядок продления;
  • назначен ответственный за повторное подтверждение домена;
  • доступ к закрытому ключу ограничен.

SSL-сертификаты и помощь с выпуском можно заказать на профильной странице IPWAY. Актуальные сроки действия, тарифы и порядок повторной проверки домена следует брать с действующей страницы услуги, а не фиксировать в технической инструкции.

Импорт сертификата

Для IIS сертификат обычно импортируется вместе с закрытым ключом в хранилище локального компьютера. Часто используется файл PFX.

Через PowerShell:

PowerShell
$password = Read-Host "Пароль PFX" -AsSecureString

Import-PfxCertificate `
    -FilePath "C:\Temp\example.ru.pfx" `
    -CertStoreLocation "Cert:\LocalMachine\My" `
    -Password $password

После импорта проверить сертификат:

PowerShell
Get-ChildItem Cert:\LocalMachine\My |
    Where-Object {
        $_.Subject -match "example.ru"
    } |
    Select-Object Subject, Thumbprint, NotBefore, NotAfter, HasPrivateKey

Для серверного сертификата значение HasPrivateKey должно быть True. Сертификат без закрытого ключа нельзя использовать для обычной HTTPS-привязки сайта.

Создание HTTPS-привязки

В графическом интерфейсе:

Диспетчер IIS
└─ Сайты
   └─ example.ru
      └─ Привязки
         └─ Добавить
            ├─ Тип: https
            ├─ Порт: 443
            ├─ Имя узла: example.ru
            ├─ Требовать SNI: да
            └─ SSL-сертификат: example.ru

При добавлении HTTPS-привязки IIS позволяет выбрать сертификат из хранилища сервера. Такой порядок также описан в документации Microsoft по настройке SSL в IIS. :contentReference[oaicite:2]{index=2}

Проверить привязки:

PowerShell
Get-WebBinding -Name "example.ru" |
    Select-Object protocol, bindingInformation, sslFlags

Для нескольких HTTPS-сайтов на одном IP необходимо проверить имя узла и SNI. Если создать несколько безымянных привязок *:443:, они будут конфликтовать.

Проверка сертификата через браузер и PowerShell

Проверить ответ сайта:

PowerShell
Invoke-WebRequest `
    -Uri "https://example.ru/" `
    -UseBasicParsing

Проверить доступность порта:

PowerShell
Test-NetConnection example.ru -Port 443

После настройки нужно проверить:

  • имя сертификата;
  • срок действия;
  • наличие промежуточных сертификатов;
  • правильный сертификат на внешнем адресе;
  • работу варианта с www;
  • редирект с HTTP на HTTPS;
  • отсутствие mixed content;
  • работу сайта в нескольких браузерах.

Перенаправление с HTTP на HTTPS

Редирект следует настраивать только после того, как HTTPS уже работает. Иначе сайт может попасть в недоступное состояние или цикл перенаправлений.

Способ зависит от приложения:

  • URL Rewrite в IIS;
  • настройки ASP.NET или ASP.NET Core;
  • логика самого приложения;
  • внешний reverse proxy или балансировщик.

При наличии reverse proxy нужно учитывать заголовки, передающие исходную схему запроса. Если приложение не распознает, что внешний клиент уже использовал HTTPS, может возникнуть бесконечный редирект.

Типичная ошибка: включить принудительный HTTPS до создания рабочей привязки на 443. Пользователи перенаправляются на адрес, где IIS не может выбрать сайт или сертификат.

Firewall, безопасность и эксплуатация IIS

Доступность сайта определяется не только привязками IIS. Порты должны быть разрешены в Windows Firewall и, при наличии, во внешних сетевых правилах провайдера.

Открытие HTTP и HTTPS

Проверить встроенные правила IIS:

PowerShell
Get-NetFirewallRule |
    Where-Object {
        $_.DisplayName -match "World Wide Web|WWW|HTTP"
    } |
    Select-Object DisplayName, Enabled, Direction, Action

При необходимости можно создать отдельные правила:

PowerShell
New-NetFirewallRule `
    -DisplayName "IIS HTTP 80" `
    -Direction Inbound `
    -Protocol TCP `
    -LocalPort 80 `
    -Action Allow

New-NetFirewallRule `
    -DisplayName "IIS HTTPS 443" `
    -Direction Inbound `
    -Protocol TCP `
    -LocalPort 443 `
    -Action Allow

В рабочей среде HTTP можно оставить только для редиректа и подтверждения домена, если выбранный механизм выпуска сертификата этого требует.

Не публиковать административные интерфейсы без необходимости

Во внешний доступ обычно должны быть открыты только порты сайта. Не следует без необходимости публиковать:

  • RDP для всего интернета;
  • SMB;
  • Microsoft SQL Server;
  • службы удаленного управления IIS;
  • административные панели приложения;
  • внутренние API;
  • каталоги резервных копий.

Доступ администратора лучше ограничивать VPN, доверенными IP-адресами или другим защищенным способом.

Права пула приложений

Приложение не должно работать с административными правами без обоснованной необходимости. По умолчанию пул может использовать виртуальную учетную запись, изолированную от других приложений.

Рекомендуется:

  • создавать отдельный пул для каждого независимого приложения;
  • выдавать права только на нужные каталоги;
  • не предоставлять запись на корень сайта без необходимости;
  • не использовать учетную запись администратора;
  • отдельно защищать конфигурационные файлы;
  • не хранить пароли в открытом виде;
  • контролировать права на сертификаты и закрытые ключи.

Журналы IIS

Стандартные журналы сайтов обычно находятся в каталоге:

C:\inetpub\logs\LogFiles\

Посмотреть идентификатор сайта:

PowerShell
Get-Website |
    Select-Object Name, Id, State, PhysicalPath

Каталог конкретного сайта будет иметь имя вида W3SVC1, где число соответствует идентификатору.

В журнале важно анализировать:

  • дату и время;
  • метод запроса;
  • URI;
  • порт;
  • IP клиента;
  • HTTP-статус;
  • substatus;
  • системный код ошибки;
  • время обработки.

Microsoft предоставляет отдельную настройку журналирования IIS, включая выбор полей и формат хранения. :contentReference[oaicite:3]{index=3}

Резервное копирование

Для восстановления сайта недостаточно резервной копии каталога. Нужно сохранить:

  • файлы сайта;
  • конфигурацию IIS;
  • базы данных;
  • SSL-сертификаты вместе с закрытыми ключами;
  • настройки DNS;
  • учетные записи и права;
  • конфигурации приложения;
  • порядок восстановления.

Экспортировать сертификат с закрытым ключом можно только в защищенное место. Пароль PFX нельзя хранить рядом с самим архивом в открытом виде.

Диагностика типичных ошибок IIS

Диагностику следует начинать с точного HTTP-статуса и substatus. Сообщение «сайт не работает» не показывает, находится ли проблема в DNS, сети, привязке, правах или приложении.

СимптомВероятная причинаЧто проверить
Сайт не открывается, timeoutНет сетевого доступа к портуDNS, IP, Windows Firewall и внешние правила
Открывается другой сайтНеверная или конфликтующая привязкаHost name, IP, порт и SNI
HTTP 403Доступ запрещен или отсутствует стартовый документПрава, Default Document и Directory Browsing
HTTP 404Файл или маршрут не найденФизический путь, URL, обработчик и публикацию приложения
HTTP 500Ошибка приложения или конфигурацииEvent Viewer, Failed Request Tracing и журнал приложения
HTTP 500.19Некорректный web.config или отсутствует модульКод ошибки, секцию конфигурации и компоненты IIS
HTTP 502Ошибка шлюза или backend-приложенияASP.NET Core, reverse proxy и внутренний порт
HTTP 503Пул приложений остановлен или недоступенСостояние пула и причины аварийного отключения
Ошибка сертификатаНеверное имя, срок, цепочка или привязкаСертификат, SNI и внешний TLS-ответ
Бесконечный редиректКонфликт правил HTTP/HTTPS или reverse proxyURL Rewrite и заголовки исходной схемы

Сайт не открывается извне

Проверку нужно выполнять по уровням:

  1. Проверить DNS.
  2. Проверить доступность публичного IP.
  3. Проверить порт через Test-NetConnection.
  4. Проверить правила Windows Firewall.
  5. Проверить внешние сетевые правила.
  6. Проверить состояние сайта.
  7. Проверить привязку.
  8. Проверить локальный запрос на самом сервере.

Состояние сайтов:

PowerShell
Get-Website |
    Select-Object Name, State, Bindings

Состояние службы:

PowerShell
Get-Service W3SVC, WAS

Локальная проверка:

PowerShell
Invoke-WebRequest `
    -Uri "http://127.0.0.1/" `
    -Headers @{
        Host = "example.ru"
    } `
    -UseBasicParsing

Если локальный запрос работает, а внешний нет, вероятнее всего проблема находится в DNS, NAT или firewall.

Открывается Default Web Site

Это означает, что IIS не нашел более точную привязку или запрос был отправлен без ожидаемого имени узла.

Нужно проверить:

  • Host name нового сайта;
  • привязку Default Web Site;
  • отсутствие двух одинаковых привязок;
  • правильность DNS;
  • используемый URL;
  • SNI для HTTPS.

Список всех привязок:

PowerShell
Get-WebBinding |
    Select-Object protocol, bindingInformation, ItemXPath

Ошибка 403

403 означает, что IIS понял запрос, но не разрешил его выполнение. Частые причины:

  • нет стартового документа;
  • запрещен просмотр каталога;
  • нет прав на чтение;
  • настроены ограничения по IP;
  • запрещен тип аутентификации;
  • запрос блокирует Request Filtering.

Включать Directory Browsing только ради устранения 403 обычно не нужно. Для сайта должен быть настроен стартовый документ или корректный маршрут приложения.

Ошибка 500.19

Ошибка указывает на проблему чтения конфигурации. В сообщении обычно присутствует шестнадцатеричный код, который помогает определить причину.

Проверяются:

  • синтаксис web.config;
  • дублирующиеся секции;
  • отсутствующий модуль;
  • заблокированный раздел конфигурации;
  • права на файл;
  • несовместимые параметры приложения;
  • следы конфигурации от другого сервера.

Не следует удалять web.config целиком без резервной копии. Вместе с ошибочной секцией можно удалить настройки безопасности, маршрутизации и приложения.

Ошибка 503

Сначала проверить пул:

PowerShell
Get-WebAppPoolState -Name "ExamplePool"

Запустить:

PowerShell
Start-WebAppPool -Name "ExamplePool"

Если пул снова останавливается, нужно проверить:

  • журнал System;
  • журнал Application;
  • учетную запись пула;
  • пароль сервисной учетной записи;
  • rapid-fail protection;
  • версию .NET;
  • наличие Hosting Bundle;
  • архитектуру приложения;
  • права на каталог.

HTTPS отдает неправильный сертификат

Причина часто находится в привязке SNI или в том, что запрос проходит через другой узел.

Нужно проверить:

  • какой IP возвращает DNS;
  • есть ли CDN или reverse proxy;
  • имя узла в HTTPS-привязке;
  • включен ли SNI;
  • какой сертификат выбран;
  • не осталось ли старой привязки;
  • не используется ли другой сервер с тем же доменом.

Microsoft рекомендует при диагностике SSL в IIS проверять сертификат, привязку, закрытый ключ и параметры HTTP.sys. :contentReference[oaicite:4]{index=4}

💡 Совет администратора: при любой ошибке сначала сохраните точный URL, время, HTTP-статус, substatus и результат локального запроса. Эти данные обычно полезнее, чем перезапуск IIS без анализа причины.

Как перенести сайт с Windows-хостинга на VPS

Переход с обычного Windows-хостинга на отдельный VPS отличается от простого копирования файлов. На новом сервере необходимо заново подготовить IIS, установить нужные версии .NET и ASP.NET, перенести базы данных, создать сайты и пулы приложений, импортировать сертификаты и проверить права доступа.

До переноса нужно собрать сведения о текущем окружении:

  • доменные имена и DNS-записи;
  • версии .NET Framework, .NET и ASP.NET Core;
  • структуру сайтов и приложений в IIS или Plesk;
  • версии Microsoft SQL Server, MySQL или MariaDB;
  • строки подключения;
  • задания планировщика;
  • SSL-сертификаты и наличие закрытых ключей;
  • нестандартные модули и компоненты;
  • объем файлов и баз данных;
  • требования к почте и формам обратной связи.

Без этой информации сайт может открыться после переноса, но отдельные функции перестанут работать. Например, приложение не подключится к базе, фоновое задание не запустится, а форма обратной связи не сможет отправлять сообщения.

Как выглядит безопасная миграция


       Анализ действующего Windows-хостинга
                         │
                         ▼
          Подготовка Windows VPS и IIS
                         │
                         ▼
       Установка нужных версий .NET и СУБД
                         │
                         ▼
        Перенос файлов и баз данных
                         │
                         ▼
       Настройка сайтов, пулов и сертификатов
                         │
                         ▼
          Проверка через временный hosts
                         │
                         ▼
              Переключение DNS
                         │
                         ▼
         Контроль сайта после переноса
Как читать схему: DNS переключается только после проверки сайта на новом сервере. Это позволяет заранее обнаружить ошибки IIS, приложения и базы данных, не отключая действующий проект для посетителей.

Бесплатный перенос на Windows VPS IPWAY

IPWAY специализируется не только на аренде Windows VPS, но и на переносе и запуске сайтов, использующих IIS, ASP.NET и Microsoft SQL Server. Это особенно важно для проектов, которые нельзя без доработки перенести на обычный Linux-хостинг.

Мы помогаем переносить сайты со сторонних Windows-хостингов на отдельные Windows VPS. Специалисты подготавливают серверное окружение, настраивают IIS и необходимые компоненты Microsoft, переносят файлы и базы данных и проверяют запуск проектов на новом сервере.

Для клиентов, которые переезжают с Windows-хостинга REG.RU на специальную конфигурацию Windows VPS под Plesk, действует отдельная акция с бесплатным переносом сайтов и предоставлением дополнительных скидок на первые месяцы аренды VPS. Условия зависят от выбранного тарифа, периода оплаты, количества проектов и особенностей действующего окружения.

Важно: возможность бесплатного переноса нужно согласовать до заказа сервера. Нестандартное окружение, специфические компоненты, перенос почтовой системы и дополнительные работы могут не входить в условия акции.

Подробные условия опубликованы на странице переезда с Windows-хостинга REG.RU на Windows VPS. Для переноса с других площадок действует общая акция по бесплатному переносу сайтов на VPS.

Заключение

IIS на Windows VPS подходит для размещения сайтов, ASP.NET-приложений, API и корпоративных веб-сервисов. Базовая установка роли несложна, но рабочая публикация требует согласованной настройки DNS, привязок, каталогов, пулов приложений, firewall и сертификатов.

Безопасный порядок начинается с минимального набора компонентов. Затем создается отдельный сайт, проверяется HTTP-доступ с правильным именем узла, настраиваются права пула приложений и только после этого добавляется HTTPS.

При диагностике важно разделять уровни. Timeout обычно указывает на сеть или firewall, неправильный сайт — на привязку, 403 и 404 — на доступ или маршрутизацию, 500 — на конфигурацию приложения, а 503 — на пул приложений.

Что почитать дальше

Для настройки Windows VPS, HTTPS и веб-приложений будут полезны следующие материалы:

Когда стоит обратиться к специалистам

Статический сайт и одну HTTPS-привязку можно настроить самостоятельно, если известны домен, каталог и требования приложения. Для нескольких сайтов, ASP.NET, корпоративной аутентификации, публикации 1С или переноса действующего проекта нужна более тщательная проверка.

Когда стоит обратиться к специалистам: если сайт открывается не по тому домену, пул приложений постоянно останавливается, IIS возвращает 500 или 503, HTTPS отдает неправильный сертификат либо требуется перенести приложение без длительного простоя, лучше проверить всю цепочку от DNS и firewall до конфигурации приложения.

Для размещения сайта, ASP.NET-приложения или API можно использовать Windows VPS от IPWAY. Специалисты помогут подготовить IIS, установить необходимые компоненты Microsoft и перенести существующие сайты со стороннего Windows-хостинга. Для части сценариев доступен бесплатный перенос сайтов на Windows VPS. Условия и техническую возможность миграции нужно согласовать до заказа.

Для настройки HTTPS можно заказать SSL-сертификат с помощью при выпуске и установке.

Кратко

  • IIS — штатный веб-сервер Windows Server для сайтов и веб-приложений.
  • Состав компонентов роли нужно выбирать по требованиям конкретного приложения.
  • Привязка определяет протокол, IP, порт и доменное имя сайта.
  • Для нескольких HTTPS-сайтов на одном IP обычно используется SNI.
  • Пулу приложений следует выдавать только необходимые права на каталоги.
  • HTTPS настраивается после проверки сайта по HTTP.
  • Диагностику нужно начинать с HTTP-статуса, substatus и журналов IIS.
  • Резервная копия должна включать файлы, конфигурацию, базы и сертификаты.
Диагностика Windows Server по журналам: инженер IPWAY анализирует события Event Viewer, фильтрует ошибки по времени и находит причину сбоя.
18.09.26
Журналы Windows Server: какие события собирать и как искать причину сбоя

Когда Windows Server неожиданно перезагружается, перестает принимать RDP-подключения, останавливает службу или приложение начинает выдавать ошибки, первое желание — открыть Event Viewer и искать красные события. Проблема…

Автор: Редакция блога
VPN на Windows Server через RRAS: инженер IPWAY показывает защищенное подключение сотрудников, сертификаты, маршрутизацию и доступ к внутренним ресурсам компании.
15.09.26
VPN на Windows Server для сотрудников: RRAS, сертификаты и маршрутизация

Если сотрудникам нужен удаленный доступ к 1С, RDP-хосту, файловому серверу, внутренней CRM или другому корпоративному приложению, публиковать каждый такой сервис непосредственно в Интернет необязательно. Безопаснее организовать…

Автор: Редакция блога
Восстановление Windows VPS после сбоя: инженер IPWAY проверяет образ, файлы, запуск служб Windows и успешную работу сервисов после восстановления.
03.09.26
Как восстановить Windows VPS после сбоя: порядок запуска, образ, файлы и проверка сервисов

Сбой Windows VPS может выглядеть по-разному: сервер перестает отвечать по RDP, Windows уходит в цикл перезагрузки, после обновления не запускается приложение, повреждается системный том или отдельная…

Автор: Редакция блога
Резервное копирование Windows VPS
07.08.26
Резервное копирование Windows VPS: настройка, хранение и проверка восстановления

Windows VPS может использоваться как терминальный сервер, рабочая среда для 1С, сервер Microsoft SQL Server, файловое хранилище или площадка для корпоративного приложения. Во всех этих сценариях…

Автор: Редакция блога
Установка сервера 1С на Windows Server
21.07.26
Установка сервера 1С на Windows Server: платформа, СУБД, служба и первая база

Установка серверной части «1С:Предприятия» требуется, когда информационная база должна работать в клиент-серверном режиме. В такой схеме пользователи подключаются не к общему файлу базы, а к кластеру…

Автор: Редакция блога
Управление удаленным рабочим столом Windows (RDP) через командную строку и PowerShell: команды mstsc и настройка сервера
10.07.26
Управление удаленным рабочим столом Windows (RDP) через командную строку и PowerShell: команды mstsc и настройка сервера

Удаленный рабочий стол (RDP) — один из основных инструментов администрирования Windows-серверов и рабочих станций. Хотя большинство пользователей запускают его через графический интерфейс, клиент mstsc.exe поддерживает множество…

Автор: Редакция блога

Мы используем файлы cookie и сервис веб-аналитики Яндекс Метрика для улучшения работы сайта. Оставаясь на сайте, вы соглашаетесь с Политикой конфиденциальности.