Ошибка использования appcmd для добавления привязки ssl - PullRequest
12 голосов
/ 08 марта 2012

Я хочу добавить привязку к сайту, используя 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']". )

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

Ответы [ 6 ]

15 голосов
/ 06 сентября 2012

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

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

source: http://technet.microsoft.com/en-us/library/cc731692(v=ws.10).aspx

10 голосов
/ 09 марта 2012

Попробуйте это:

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

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

appcmd list site
0 голосов
/ 21 апреля 2016

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

@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
0 голосов
/ 23 декабря 2015

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

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

0 голосов
/ 20 июля 2014

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

0 голосов
/ 13 декабря 2013

Я столкнулся с проблемой в 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"""
...