*КУБ — полный комплекс облачных услуг!
Через Server Manager: «Добавление ролей и компонентов» → «На основе ролей» → ваш сервер → «Веб-сервер (IIS)».
Выберите минимум для статического контента и базовых сайтов:
Если требуются ASP.NET — добавьте Application Development (.NET Extensibility, ASP.NET, ISAPI).
Эквивалент PowerShell:
Install-WindowsFeature Web-Server, Web-Common-Http, Web-Default-Doc, Web-Http-Errors, `
Web-Http-Logging, Web-Filtering, Web-Stat-Compression -IncludeManagementTools
# При необходимости:
# Install-WindowsFeature Web-Asp-Net45, Web-Net-Ext45, Web-ISAPI-Ext, Web-ISAPI-Filter
Проверьте http://localhost — должна отобразиться стартовая страница IIS.
Откройте IIS Manager (InetMgr.exe) → выберите ваш сервер → Server Certificates (сертификаты сервера).

В разделе «Actions» нажмите «Create Certificate Request…», заполните поля «Distinguished Name»:
— Common Name — FQDN сайта (например, example.ru или *.example.ru для wildcard);
— Organization/OU/City/State/Country — в соответствии с требованиями центра сертификации (CA).

Выберите криптопровайдер и длину ключа (рекомендуется Microsoft RSA SChannel и 2048 бит).

Сохраните CSR в файл — он начинается с —–BEGIN NEW CERTIFICATE REQUEST—–.

Отправьте CSR в ваш CA (коммерческий или корпоративный). Если вы используете AD CS — загрузите выданный сертификат с веб-портала CA.

Альтернатива для тестов: самоподписанный сертификат через PowerShell New-SelfSignedCertificate. Подходит для тестовых сред, но не для производственного сайта.
Вернитесь в раздел «Сертификаты сервера» и нажмите «Завершить запрос на сертификат…» — укажите выданный CER.

Если у вас CRT KEY, сначала преобразуйте его в PFX (объединенный контейнер с закрытым ключом). Самый простой способ — openssl:
openssl pkcs12 -export -out target.pfx -inkey source.key -in source.crt
Или временно преобразуйте CRT → CER (Base-64 X.509) непосредственно в Windows через «Export»:

Если импортируете PFX, лучше через панель инструментов «Certificates (Local Computer)» → «Personal». Microsoft подробно описывает импорт и назначение сертификата сайту в официальной инструкции.
После нажатия «Complete Certificate Request» новый сертификат появится в списке:

Перейдите в «Sites», выберите сайт → «Edit Bindings»…

Добавьте привязку:

Перезапустите сайт (или весь IIS).

Проверьте в браузере: замок и действительный сертификат на домен.

Полезно сразу включить перенаправление HTTP → HTTPS (URL Rewrite) — на winitpro есть отдельная статья по этому вопросу.
Не забудьте открыть порты 80/443 во внутреннем брандмауэре Windows и внешнем брандмауэре/ACL у провайдера Windows VPS:
New-NetFirewallRule -DisplayName "HTTP (80)" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS (443)" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow
Проверка с клиентской машины:
Test-NetConnection example.ru -Port 80
Test-NetConnection example.ru -Port 443
TcpTestSucceeded : True — привязка и доступность подтверждены.
# 1) Установка IIS с базовыми модулями
Install-WindowsFeature Web-Server, Web-Common-Http, Web-Default-Doc, Web-Http-Errors, `
Web-Http-Logging, Web-Filtering, Web-Stat-Compression -IncludeManagementTools
# 2) Каталог сайта
New-Item -ItemType Directory -Path "D:\sites\example.ru\wwwroot" -Force | Out-Null
# 3) Сайт на HTTP
Import-Module WebAdministration
New-Website -Name "example.ru" -Port 80 -PhysicalPath "D:\sites\example.ru\wwwroot" -IPAddress "*" -HostHeader "example.ru"
# 4) Импорт сертификата (пример для PFX; укажите свой путь/пароль)
# $pwd = ConvertTo-SecureString "PFXpassword" -AsPlainText -Force
# Import-PfxCertificate -FilePath "C:\certs\example.pfx" -CertStoreLocation Cert:\LocalMachine\My -Password $pwd
# $thumb = (Get-ChildItem Cert:\LocalMachine\My | Where-Object {$_.Subject -like "*CN=example.ru*"}).Thumbprint
# 5) Привязка к HTTPS (через netsh http)
# New-WebBinding -Name "example.ru" -Protocol https -Port 443 -HostHeader "example.ru"
# netsh http add sslcert hostnameport=example.ru:443 certhash=$thumb appid="{00112233-4455-6677-8899-AABBCCDDEEFF}"
# 6) Брандмауэр
New-NetFirewallRule -DisplayName "HTTP (80)" -Direction Inbound -Protocol TCP -LocalPort 80 -Action Allow
New-NetFirewallRule -DisplayName "HTTPS (443)" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow