Linha de comando para configurar o SNI no IIS para Windows 2012

Linha de comando para configurar o SNI no IIS para Windows 2012

Estou tentando concluir o script de construção automatizado do meu servidor web, que roda Windows 2012 e possui dois sites SSL, cada um com seu próprio certificado digital.

Estou usando o SNI, que funciona bem quando o configuro manualmente, mas quando uso o APPCMD para definir a mesma configuração, não consigo descobrir como selecionar um certificado para os sites na ligação.

Usando a abordagem manual, há uma lista suspensa que você usa para escolher o certificado. Estou procurando a linha de comando equivalente a escolher um certificado dessa lista.

Alguém sabe como você faz isso?

Responder1

Não conheço o appcmd, considero uma ferramenta legada que não recomendo mais usar.

No PowerShell você indica SNI com o parâmetro SSlFlags, 0 não é SNI, 1 define 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

Para atribuir um certificado existente, primeiro obtenha a impressão digital do certificado e um GUID e depois use 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

para o site sem uso de 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

Responder2

Aqui está a resposta que encontrei para minha própria pergunta ...

Eu precisava usar netsh com a seguinte sintaxe: –

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

A parte principal que estava faltando anteriormente era o parâmetro chamado "hostnameport" acima. Espero que isso ajude alguém no futuro.

Cumprimentos,

Publicidades

informação relacionada