Получение 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

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

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

Присоединяйтесь к моему живому блогу ниже и следите за действиями.

Обновление 1

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

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

Где 2-я строка - это новое сообщение! 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 и размеры контента. Можете ли вы представить устранение неполадок в приложении IIS для WCF! Ха-ха. Я действительно плачу.

Обновление 6

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

Обновление 7

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

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

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

13 ответов

Решение

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

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

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

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

введите описание здесь

На Windows 2012 R2 Server я следовал совету mga911.

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

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

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

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

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

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

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"

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

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

В моем случае, при установке пакета веб-развертывания 3.0 через веб-сервер я никогда не получал опцию делегирования службы управления в 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 и параметр развертывания публикации веб-развертывания, необходимые для настройки удаленной публикации, недоступны в диспетчере IIS. http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later

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

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

Это решит проблему.

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

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

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

У меня такая же проблема. Я решил это с помощью "Restart-Service wmsvc".

В моем случае с помощьювместов поле Сервер (1-й пункт в диалоге настроек публикации) работал.

Эта проблема все еще существует на сервере 2019. Необходимо установить веб-развертывание в правильной последовательности

  • сначала запустите сервис - сервис веб-управления
  • затем установите веб-развертывание (загрузите с веб-сайта Microsoft)

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

Другие вопросы по тегам