Подтвердить что ты не робот

Ошибка при использовании appcmd для добавления привязки ssl

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

appcmd set site /site.name:"My site name" /+bindings.[protocol='https',bindingInformation='*:443:sub.mydomain.com'] 

Ошибка:

ERROR ( message:Cannot find SITE object with identifier "bindingInformation='*:443:sub.mydomain.com']". )

Я проверил, существует ли сайт и что он делает. Что я делаю неправильно?

4b9b3361

Ответ 1

Попробуйте следующее:

appcmd set site "My site name" /bindings:"https://sub.mydomain.com:443"

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

appcmd list site

Ответ 2

Если вы используете PowerShell, вам необходимо окружить параметр привязки двойными кавычками, чтобы PowerShell не интерпретировал одиночные кавычки, прежде чем команда будет отправлена ​​в appcmd.

./appcmd set site /site.name: contoso /+"bindings.[protocol='https',bindingInformation='*:443:']"

источник: http://technet.microsoft.com/en-us/library/cc731692(v=ws.10).aspx

Ответ 3

Я столкнулся с проблемой в Powershell с двоеточиями в привязках. Конкатенация их решила проблему.

[string] $cmd = "$Env:windir\SysWOW64\inetsrv\APPCMD.exe"
$response = invoke-expression "$cmd add site /name:""$SiteName"" /id:$ID /+""bindings.[protocol='$Protocol',bindingInformation='$IP"+":$Port"+":']"" /physicalPath:""$Path"""

Ответ 4

Вам нужно запустить команду как администратор.

Ответ 5

Я никогда не мог сделать эту работу с подстановочным сертификатом для *.mydomain.com с тем, что, как я думал, было довольно дружелюбным именем: "mydomain.com plus wildcard". Я бы выполнил приведенные выше команды, перешел в IIS и посмотрел на привязки, и он будет там, но без выбранного сертификата. При выборе сертификата удалено имя хоста и отключите его, чтобы я не мог его изменить.

Я, наконец, получил его, чтобы сработать, изменив дружественное имя подстановочного сертификата на формат, ожидаемый IIS ( "*.mydomain.com" ) и добавив его обычно через интерфейс IIS, не знаю, будут ли выполняться вышеуказанные команды appcmd. Мораль этой истории заключается в том, чтобы дать подстановочные сертификаты стандартное дружественное имя.

Ответ 6

Я создал пакетный файл для этого:

@echo off

set /p sitename="Enter the site Name (as displayed in IIS): " %=%
set /p siteurl="Enter the site Host Header(the site url): " %=%
set /p siteip="Enter the site IP Address (ip address or *): " %=%
set /p siteprotocol="Enter the site Protocol (http, https, etc): " %=%
set /p siteport="Enter the site Port (80, 443): " %=%

appcmd set site /site.name:"%sitename%" /+bindings.[protocol='%siteprotocol%',bindingInformation='%siteip%:%siteport%:%siteurl%']

pause