Отримання 404 від WMSvc через MSDeploy.exe


121

З Windows 8 до Windows Server 2012 (IIS 8) із встановленими та працюючими службами веб-управління, я можу використовувати IIS Manager у вікні 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.

Де 2-й рядок - нове повідомлення! Woohoo.

Оновлення 2

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

Сервер не приймає віддалені з'єднання.

Але я думаю, що це тому, що я, мабуть, не ввімкнув повторне управління, крім встановлення проклятої речі.

Оновлення 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 і залежностей все в один прийом, тому що ми пишемо недостовірне програмне забезпечення.

Оновлення 7

Я перевстановлюю все, і тоді якийсь Aussie на ім'я Річард з'являється з нізвідки і повністю пояснює, що Web Deploy насправді не є частиною WMSvc як стандартної, навіть на IIS 8, і що мені потрібно встановити Web Deploy.

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

І це працює. Я можу лягти спати.


24
+1 за веселий пароль
Michael12345

4
Скільки продуктивності ми всі втрачаємо перед цим безладом? У мене виникають подібні проблеми, але я стикаюся з випадком, коли IIS виходить з ладу під час пошуку імен користувачів.
ATL_DEV

6
У Windows 2012, це був порядок встановлення для мене, мені довелося спочатку встановити функцію Web Management Service, а потім встановити веб-розгортання 3.5.
JustEngland

1
Встановлення веб-розгортання недостатньо !. У мене було встановлено веб-розгортання, це було перше, що я зробив. Мені довелося додавати / видаляти програми та змінювати установки установки, щоб включити обробник. Я бажаю любові, щастя та процвітання MS-розробнику, який вважав, що це розумний дефолт - не включати обробника, який дозволяє службі робити свою роботу.
Нуреттін

У мене виникли всілякі проблеми, намагаючись змусити Web Deploy 3.6 працювати, тому слідкував за коментарем Sinned Lolwut і видалив 3.6, а натомість встановив 3.5 - працював перший поп. Для встановлення Web Deploy 3.5 я використовував інсталятор веб-платформ ( microsoft.com/web/downloads/platform.aspx ). Після цього перезапустили службу веб-управління та змогли перевірити з'єднання у профілі веб-розгортання Visual Studio. (Я б відповів у коментарі вище, але ще не маю достатньої репутації).
боб №2,

Відповіді:


86

Ви встановили Web Deploy на сервер? Web Deploy реєструє обробник (/msdeploy.axd) з WMSVC, тому 404 буде очікуваним кодом статусу, якщо він не був би встановлений.


2
Ні, я ні. Я не знав, що мені потрібно! Я думав, що вся справа про розгортання була частиною WMSvc? OMG, я вважаю, ти маєш рацію, вони такі дурні. Нещодавно я був так заплутаний у всьому цьому і думав, що в Інтернеті розгортати річ, яку ви встановлюєте, був лише агент, для розміщення компаній та подібного. Перевірте мій інше питання stackoverflow.com/questions/13602502 / ...
Luke Puplett

2
WMSVC призначений для віддаленої настройки IIS. MSDeploy був створений задовго, тому його не можна інтегрувати в ядро. Якщо встановлення MSDeploy не є можливим, ви можете використовувати тимчасовий агент, який встановить обробник протягом тривалості розгортання (очевидно, вам потрібен доступ адміністратора).
Річард Шалай

16
Мені довелося видалити Web Deploy 3, а потім знову встановити його, щоб він працював. Якось мій IIS8 заплутався.
Росді Касім

30
Це ж питання, щойно увійшло до Панелі управління та змінило встановлення "Веб-розгортання", щоб включити Обробник. Пережив Служба WMSVC і все було добре!
Метт Вудвард

13
Якщо ви встановили Web Deploy перед тим, як встановити службу веб-управління, вам потрібно буде дотримуватися описаних вище процедур
Метт Бейкер

180

У випадку, якщо у когось іншого виникають ті самі проблеми, що й у мене, я також отримав ту саму помилку 404. Найшвидший спосіб я перевірив - це перейти на сам сервер і відкрити "https: // <ім'я сервера>: 8172 / MsDeploy.axd". Chrome & Firefox щойно показала порожню сторінку, тому мені довелося скористатися вкладкою «Мережа» інструментів для розробників (F12), щоб побачити фактичне повідомлення про помилку 404.

Так чи інакше, встановлюючи Web Deploy 3.0 з Інсталятора веб-платформ, обробник IIS 7 Deployment не встановився, навіть незважаючи на те, що модуль користувальницького інтерфейсу IIS Manager. У моєму випадку я завантажив .msi Інсталяція інструменту веб-розгортання .ssi за таким посиланням: Встановлення інструмента веб-розгортання . Тоді мені довелося повернутися до Інструменту адміністратора IIS (Пуск -> Виконати -> inetmgr.exe)> {ім'я сервера}> натиснути на піктограму Служби управління та перезапустити службу управління до того, як обробник MsDeploy.axd почав працювати.

Увімкнення обробника розгортання IIS + Служба віддаленого агента

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


98
Мені вдалося перейти до Панелі управління> Програми та функції. Клацніть правою кнопкою миші «Microsoft Web Deploy 3.5» та виберіть «Змінити». У програмі встановлення виберіть "Змінити" і "Обробник розгортання IIS" був доступний як варіант (спочатку було вимкнено. Також "Налаштувати для не адміністраторів розгортання" та "Користувацький інтерфейс делегування служби управління" були моїми першими запитами на MSDeploy.axdще було 404, але наступний запит отримав підказку для входу.
Карл Г

3
І якщо ви такі забудькуваті, як я, пам’ятайте, що ви, мабуть, вже встановили Службу управління (Додавання / видалення функцій Windows> Веб-сервер (IIS)> Інструменти управління> Служба управління) перед тим, як «Обробник розгортання IIS» буде видно під час зміни Встановити веб-версію 3.5.
Карл Г

@DGDev Інструмент веб-розгортання 2.1 є попередником Web Deploy 3.0
Kuepper

1
Привіт, Карл Г, ваш коментар був єдиною корисною справою, яку я знайшов для цієї проблеми. Я б хотів, щоб це була частиною відповіді замість простого коментаря тут. (Адміністратор, будь ласка, поставте це як правильну відповідь, якщо це можливо)
mohghaderi

@CarlG - чудовий улов! Я додав знімок екрана для довідки.
SliverNinja - MSFT

69

На сервері Windows 2012 R2 я дотримувався порад mga911.

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

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

2
Спробували цей трюк за допомогою Web Deploy 3.6 на Win 2012 R2. Не працювало із такою помилкою "Помилка:" Розділ конфігурації 'system.webServer / management / delegation' неможливо прочитати, оскільки в ньому відсутня схема "... Видалення Web Deploy 3.6 та вимкнення Web Deploy 3.5 з iis.net / завантаження / microsoft / веб-розгортання Працювали
Sinned Lolwut

Це мені дуже допомагає! Дякую. Win2012 r iis 8
Роберто Гата

18

Думаю, важливим моментом є те, що вам потрібно спочатку ввімкнути службу управління, а потім встановити Веб-розгортання.

Я зробив це навпаки, і це не вийшло.

Тільки перевстановивши веб-розгортання, він почав працювати.


Зі мною трапилось те саме. Який кошмар!
Крістофер Таунсенд

1
Я здогадуюсь, що більшість людей тут (включаючи мене) мали те саме питання, але вони цього не усвідомлювали, оскільки видалення веб-розгортання, її перевстановлення та повторний запуск Служби управління - це майже те саме :)
ilter

13

Коли я встановив Web Deploy через інсталятор веб-платформи, обробник не був вибраний. Мені довелося вручну встановити Web Deploy 3.0, натиснути «змінити», а потім вибрати обробник, який потрібно встановити.


12

Після годин пошуку, рішення вашого рішення нижче працювало для мене !!

Control Panel > Програми та функції

Клацніть правою кнопкою миші на Microsoft Web Deploy 3.5

Виберіть Змінити> натисніть кнопку Далі> натисніть кнопку Змінити

Ви помітите, коли обрано Веб-розгорнуту рамку, ви побачите у повідомленні

 "It has 0 of 3 subfeatures selected"

Клацніть по випадаючому вибору "Entire feature will be installed on local hard drive"

Далі> Змінити> Готово


8

У моєму випадку, при встановленні пакету веб-розгортання 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 та параметр розгортання публікації Web Deploy Publishing, необхідні для налаштування віддаленої публікації, недоступні в Менеджері IIS. http://www.iis.net/learn/install/installing-publishing-technologies/installing-and-configuring-web-deploy-on-iis-80-or-later#00

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


3

Замість того, щоб використовувати веб-платформу. Завантажте WebDeploy.exe з веб-сайту та встановіть його на сервер із опцією Повний пакет.

Це виправить це питання.


1

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

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

В основному йдеться про те, що служба Веб-управління входить у систему як локальна служба, яка не має прав доступу до каталогу Inetpub. Надання дозволів для місцевої служби вирішило проблему для мене.


1

У мене те саме питання. Я вирішив це "Restart-Service wmsvc".


1
Здравствуйте, відповіли на ваше запитання, як здається, це допомагає, оскільки це ваша перша відповідь тут, було б чудово, якби ви могли написати наступний раз крихітний ліл. Ще кілька слів, повні речення справді вдячні :)
Тім Каденбах

-1

Використовуються лише windows auth. Веб-розгортання 3.5. І лише сертифікат WMSVC, який встановлений у піктограмі Служби управління верхньої піктограми сервера верхнього рівня.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.