Командная строка для настройки SNI в IIS для Windows 2012

Командная строка для настройки SNI в IIS для Windows 2012

Я пытаюсь завершить автоматизированный скрипт сборки моего веб-сервера, работающего под управлением Windows 2012 и имеющего два SSL-сайта, каждый из которых имеет свой собственный цифровой сертификат.

Я использую SNI, который отлично работает, когда я настраиваю его вручную, но когда я использую APPCMD для настройки той же конфигурации, я не могу понять, как выбрать сертификат для сайтов в привязке.

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

Кто-нибудь знает, как это сделать?

решение1

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

В PowerShell SNI указывается с помощью параметра SSlFlags, 0 — отсутствие SNI, 1 — установка SNI.

New-WebBinding -Name site1.local -Port 443 -Protocol https -SslFlags 0
New-WebBinding -Name site2.local -Port 443 -Hostheader site2.local -Protocol https -SslFlags 1

Чтобы назначить существующий сертификат, сначала получите отпечаток сертификата и GUID, а затем используйте netsh

$thumb = (Get-ChildItem cert:\LocalMachine\MY | where-object { $_.FriendlyName -match "site2" } | Select-Object -First 1).Thumbprint
$guid = [guid]::NewGuid()
& netsh http add sslcert hostnameport=site2.local:443 certhash=$thumb appid=`{$guid`} certstorename=MY

для сайта без использования SNI:

$thumb = (Get-ChildItem cert:\LocalMachine\MY | where-object { $_.FriendlyName -match "site1" } | Select-Object -First 1).Thumbprint
$guid = [guid]::NewGuid()
& netsh http add sslcert ipport=0.0.0.0:443 certhash=$thumb appid=`{$guid`} certstorename=MY

решение2

Вот ответ, который я нашел на свой вопрос...

Мне нужно было использовать netsh со следующим синтаксисом:-

netsh http add sslcert hostnameport=www.shifts.org.uk:443 certstorename=MY certhash=<put your hash here> appid={<put your app ID here>}

Ключевая часть, которую я упустил ранее, была параметром "hostnameport" выше. Надеюсь, это поможет кому-нибудь в будущем.

С уважением,

Объявления

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