Получение 404 из WMSvc через MSDeploy.exe

От Windows 8 до Windows Server 2012 (IIS 8) с установленными и работающими службами веб-управления я могу использовать диспетчер IIS в окне W8 для управления удаленным сервером, но я получаю 404.7 от WMSvc, когда выполняю следующую команду:

msdeploy.exe" -verb:dump -source:contentPath=c:\InetPub\wwwroot,computerName=https://uktnws01:8172/MsDeploy.axd,userName=corp\administrator,password=WMSvcIsCrap,authType=Basic -allowUntrusted

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

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

Присоединитесь к моему блогу в прямом эфире ниже и выполните действия.

Обновление 1

С удаленной службой управления теперь я получаю

Ошибка: невозможно подключиться к удаленному серверу Ошибка: нет соединения может быть сделано, потому что целевая машина активно отказалась от нее 192.168.2.22:8172 Количество ошибок: 1.

Где вторая строка - новое сообщение! Woohoo.

Обновление 2

Хорошо, теперь все идет от плохого к худшему. После переустановки удаленная консоль IIS будет уведомляться о сертификате, а затем скажет:

Сервер не принимает удаленные подключения.

Но я думаю, что это потому, что я, вероятно, не включил Remote Management, помимо установки проклятой вещи.

Обновление 3

При включенном дистанционном управлении удаленный IIS работает снова, но возвращается 404. Просто в интересах SEO, здесь полная ошибка:

Error Code: ERROR_DESTINATION_NOT_REACHABLE More Information: Could not connect to the remote computer ("uktnws01"). On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started.  Learn more at http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.
Error: The remote server returned an error: (404) Not Found.
Error count: 1.

Обновление 4

Пробовал ту же команду против другого веб-сервера через VPN для клиента, и это работает шармом! Похоже, что IIS fubar'ed на моей абсолютно шлепающей новой сборке 2012 года.

Обновление 5

Я включил неудачную трассировку запроса для WMSvc и увидел, что 404.7 поступает из модуля RequestFilteringModule. 404.7 "Отказано в расширении файла" в соответствии с документацией.

http://www.iis.net/configreference/system.webserver/security/requestfiltering

Добавление явного правила сервера для файлов .axd не помогает. Интересно видеть этот модуль, поскольку он налагает ограничения на длину и размеры URL-адресов. Можете ли вы представить себе, как это устранить в приложении WCF, поддерживаемом IIS! Ха-ха. Я действительно плачу.

Обновить 6

Я удаляю фильтрацию запросов, что также означает удаление ASP.NET и других вещей. Им нужна переустановка функций и зависимостей Windows All In One Hit, поскольку мы пишем ненадежное программное обеспечение.

Обновление 7

Я переустанавливаю все, а затем некоторые австралийцы по имени Ричард появляются из ниоткуда и полностью объясняют, что Web Deploy на самом деле не является частью WMSvc в качестве стандартного, даже в IIS 8, и что мне нужно установить Web Deploy.

Так и я. Затем я отключу MsDepSvc, который является другой частью, которую он устанавливает (который, как я думал, был полностью Web Deploy), потому что он отсасывает порт 80 и останавливает балансировки нагрузки от просмотра сбитой службы IIS.

И это работает. Я могу ложиться спать.

Ответ 1

Установили ли вы веб-развертывание на сервере? Web Deploy регистрирует обработчик (/msdeploy.axd) с помощью WMSVC, поэтому 404 будет ожидаемым кодом состояния, если он не был установлен.

Ответ 2

Если у кого-то есть те же проблемы, что и у меня, у меня тоже такая же ошибка 404. Самый быстрый способ, который я нашел для проверки, - это запустить сам сервер и открыть "https://<servername> : 8172/MsDeploy.axd". Chrome и Firefox просто показали пустую страницу, поэтому мне пришлось использовать вкладку "Сеть" инструментов разработчика (F12), чтобы увидеть фактическое сообщение об ошибке 404.

Как бы то ни было, при установке Web Deploy 3.0 из установщика веб-платформы обработчик развертывания IIS 7 не был установлен, даже несмотря на то, что модуль интерфейса IIS Manager сделал. В моем случае я загрузил установку инструмента развертывания веб-инструментов .msi из следующей ссылки: Установка инструмента развертывания Интернета. Затем мне нужно было вернуться в Инструмент администрирования IIS (Пуск → Выполнить → inetmgr.exe) > {имя сервера} > щелкните значок "Служба управления" и перезапустите службу управления до того, как обработчик MsDeploy.axd начал работать.

Включение обработчика развертывания IIS + службы удаленного агента

enter image description here

Ответ 3

В Windows 2012 R2 Server я следил за советом mga911.

Я застрял в работе. Если бы была установлена ​​веб-развертывание 3.5 → Разрешено делегирование службы управления → Были запущены службы. Проблема заключалась в том, что обработчик развертывания IIS не был установлен. Переход через Web PI 4.6 Мне не была предоставлена ​​возможность установить обработчик развертывания IIS. Вам нужно войти в панель управления → Программы и возможности Изменить установку Web Deploy 3.5. Обратите внимание на мои инструкции. В процессе изменения это означает, что все подпакеты будут установлены, но в текстовом сообщении будет установлено 0 из 3 подкомпонентов. Одним из этих компонентов является обработчик IIS. Читайте внимательно, потому что я этого не делал и был расстроен:)

  • Панель управления > Программы и функции
  • Щелкните правой кнопкой мыши на Microsoft Web Deploy 3.5
    • Выберите "Изменить" > нажмите "Далее" > "Изменить".
    • Вы заметите, что когда выбрана структура веб-развертывания, вы увидите сообщение "У него есть 0 из 3 выбранных подэлементов"
    • Нажмите на раскрывающийся список "Вся функция будет установлена ​​на локальном жестком диске"
    • Далее > Изменить > Готово

Ответ 4

Одним из важных моментов я считаю, что сначала нужно включить службу управления, а затем установить Web Deploy.

Я сделал это наоборот, и это не сработало.

Только после переустановки веб-развертывания он начал работать.

Ответ 5

Когда я установил Web Deploy через установщик веб-платформы, обработчик не был выбран. Мне пришлось вручную установить Web Deploy 3.0, нажать "изменить", а затем выбрать обработчик, который будет установлен.

Ответ 6

В моем случае при установке пакета веб-развертывания 3.0 через веб-приложение pi я никогда не получал параметр делегирования службы управления в IIS/home. Однако его переустановка исправила проблему, тем самым разрешив разрешение моей ошибки 404.7.

Это было в Microsoft Server 2012 и IIS8

Изменить: я недавно попробовал ту же самую вещь в Windows 8 и хотел бы указать, что на веб-сайте Microsoft говорится:

Невозможно настроить удаленную публикацию с помощью Web Deploy для сайта, размещенного в IIS, в Windows 8.0 или 8.1. Причина в том, что клиентские SKU для Windows не поставляются с службой веб-управления, которая требуется для удаленных подключений. В результате в Windows 8.0 или 8.1 значок IIS Manager Permissions и параметр "Настроить развертывание веб-развертывания развертывания", необходимые для настройки удаленной публикации, недоступны в диспетчере IIS. http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

(Да, я понимаю, что целью является сервер 2012 в вопросе, но это может сэкономить много людей от такой же головной боли, как и я, так как это очень хорошо работало на моей старой машине-разработчике, которую я хотел сообщить людям.)

Ответ 7

После нескольких часов поиска ваше решение ниже работало для меня.

Control Panel > Программы и функции

Щелкните правой кнопкой мыши Microsoft Web Deploy 3.5

Выберите "Изменить" > нажмите "Далее" > "Изменить"

Вы заметите, что при выборе Web Deployment Framework вы увидите сообщение

 "It has 0 of 3 subfeatures selected"

Нажмите на раскрывающийся список выберите "Entire feature will be installed on local hard drive"

Далее > Изменить > Готово

Ответ 8

Кроме того, вам может потребоваться предоставить доступ к службе веб-управления

У меня также возникла проблема с Visual Studio (2013), которая не смогла обновить приложение на моем сервере (Windows 2012 R2 IIS 8.5). Я добавил компоненты вручную, как описано выше, но это не решило проблему. Затем я нашел эту статью.

В основном это говорит о том, что служба веб-управления регистрируется как локальная служба, которая не имеет прав доступа к каталогу Inetpub. Предоставление разрешений для локальной службы разрешило проблему для меня.

Ответ 9

Вместо использования установщика веб-платформы. Загрузите WebDeploy.exe с веб-сайта и установите его на сервере с полным пакетом.

Он исправит проблему.

Ответ 10

Используются только окна auth. Веб-развертывание 3.5. И только сертификат WMSVC, установленный в значке службы управления значка сервера верхнего уровня.