Создание сайта IIS в powershell без SNI

Я пытаюсь создать один сайт IIS в powershell. Я хочу, чтобы сайт был создан без SNI.
Я использую iis 10 (сервер Windows 2016).

Я могу создать сайт с SNI, используя sslflags=1. Но когда я пытаюсь создать без sni, у меня возникают проблемы.

Ниже мой фрагмент

$SecurePassword = ConvertTo-SecureString "Somepassword" -AsPlainText -Force; 
Import-PfxCertificate -FilePath 'C:\certs\nt111trnch01.pfx' -CertStoreLocation Cert:\LocalMachine\My -Password $SecurePassword; 
Import-PfxCertificate -FilePath 'C:\certs\nt111trnch02.pfx' -CertStoreLocation Cert:\LocalMachine\My -Password $SecurePassword; 
Import-PfxCertificate -FilePath 'C:\certs\nt111trnch03.pfx' -CertStoreLocation Cert:\LocalMachine\My -Password $SecurePassword; 
Import-Module "WebAdministration"; 
New-Item IIS:\Sites\myProj -bindings @{protocol='https';bindingInformation='*:8080:nt111trnch01.sit.abcit';SslFlags=1} -PhysicalPath C:\site; 
New-WebBinding -Name "myProj" -Protocol https -HostHeader nt111trnch02.sit.abcit -Port 8080 -SslFlags 1; \
New-WebBinding -Name "myProj" -Protocol https -HostHeader nt111trnch03.sit.abcit -Port 8080 -SslFlags 1; \
New-Item -Path "IIS:\SslBindings\*!8080!nt111trnch01.sit.abcit" -Thumbprint 145300EC69B3448EE15A54DBCD54647AF8294611 -SslFlags 1; 
New-Item -Path "IIS:\SslBindings\*!8080!nt111trnch02.sit.abcit" -Thumbprint 86C1CD3660F9810DB30CB2E312E197C898I26253 -SslFlags 1; 
New-Item -Path "IIS:\SslBindings\*!8080!nt111trnch03.sit.abcit" -Thumbprint 0C7888C0615615997DB6F9DA9E9A03E4671E3BAD -SslFlags 1; 
New-Item C:\site\myProj -type directory

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

заранее спасибо

Обновление 1 Я изменил все значения SslFlags на 0. Теперь я получаю эту ошибку.

New-Item : Cannot create a file when that file already exists
At line:12 char:2
+     New-Item -Path "IIS:\SslBindings\*!8080!nt111trnch02.sit.abci...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-Item], Win32Exception
    + FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.NewItemCommand

WARNING: Binding host name 'nt111trnch03.sit.abcit' is not equals to certificate subject name 'CN=nt111trnch03.sit.swcsit, OU=IT Services, O=Mycity 
Company, L=Mycity, S=State, C=Country'. Client may not be able to connect to the site using HTTPS protocol.
New-Item : Cannot create a file when that file already exists
At line:13 char:2
+     New-Item -Path "IIS:\SslBindings\*!8080!nt111trnch03.sit.abci ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [New-Item], Win32Exception
    + FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.NewItemCommand

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

введите здесь описание изображения


person VVP    schedule 23.02.2018    source источник
comment
Похоже, вы пытаетесь привязать 3 SSL-сертификата к 3 сайтам на одном и том же IP-адресе и порту. Это не то, что вы можете сделать с SSL - сервер не знает, какой сайт нужен браузеру, пока после он не использовал сертификат для согласования соединения. SNI был изобретен, чтобы решить эту проблему и разрешить несколько сертификатов, чтобы сервер знал, какой из них использовать. Для этого вам нужны разные IP-адреса, разные порты или SNI.   -  person TessellatingHeckler    schedule 23.02.2018
comment
@TessellatingHeckler Я согласен, что в исходном посте было мало информации, и я продолжал обновлять, пробуя новые сценарии. А я думал вы троллите. Спасибо за информацию. Видимо наш Netscaler не совместим с SNI. Поэтому, если SNI включен, наш сайт не будет работать. У нас есть сайт, который будет работать на 3-х серверах, а значит и 3-х сертификатов. Я использую приведенный выше фрагмент в сообщении и выполняю его на всех трех серверах. Я просто новичок в IIS, возможно, я ошибаюсь в подходе.   -  person VVP    schedule 23.02.2018
comment
Это ограничение технологии SSL, а не проблема IIS. Я не знаком с Netscaler, но документация Citrix выглядит так: поддерживается SNI для разгрузки SSL, начиная с версии 9 так что, может быть, вы могли бы ответить на SSL-соединения на NetScaler? Индивидуальные общедоступные IP-адреса для каждого сайта — это обычный способ справиться с этим, но если у вас больше нет IP-адресов и вы не можете получить их от своего интернет-провайдера, вы не можете этого сделать. Другим вариантом может быть запуск их всех с одним подстановочным сертификатом *.sit.abcit, что опять-таки дороже. Или, возможно, обновите NetScaler до прошивки 11.1.   -  person TessellatingHeckler    schedule 23.02.2018
comment
Спасибо. Наша команда подтвердила, что у них есть Netscaler 11, и нам нужен Netscaler 11.1, чтобы иметь SNI.   -  person VVP    schedule 27.02.2018


Ответы (1)


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

Я привязываю IP-адрес сервера B к сертификату сервера B, ip-адрес сервера C к сертификату сервера C и все ip (*) к сертификату сервера A.

Не уверен, правильно ли это, или я должен привязать IP к их соответствующему сертификату. Но это работает. Проверено, что Netscaler может выполнять SSL-подтверждение на всех трех серверах.

New-Item IIS:\Sites\myproj-bindings @{protocol='https';bindingInformation='*:8080:nt111trnch01.abcit.sit';SslFlags=0} -PhysicalPath C:\site; 
    New-WebBinding -Name "myproj" -Protocol https -HostHeader nt111trnch02.abcit.sit-IP 10.17.193.235 -Port 8080 -SslFlags 0; 
    New-WebBinding -Name "myproj" -Protocol https -HostHeader nt111trnch03.abcit.sit-IP 10.16.193.237 -Port 8080 -SslFlags 0; 
    New-Item -Path "IIS:\SslBindings\*!8080!nt111trnch01.abcit.sit" -Thumbprint 145300EC69B3448EE15A54DBCD54647AF8294611 -SslFlags 0; 
    New-Item -Path "IIS:\SslBindings\10.16.193.235!8080!nt111trnch02.abcit.sit" -Thumbprint 86C1CD3660F9810DB30CB2E312E197C898I26253 -SslFlags 0; 
    New-Item -Path "IIS:\SslBindings\10.16.193.237!8080!nt111trnch03.abcit.sit" -Thumbprint 0C7888C0615615997DB6F9DA9E9A03E4671E3BAD -SslFlags 0; 

Пожалуйста, дайте мне знать, если это не правильный путь.

Спасибо.

person VVP    schedule 27.02.2018